jQuery: vérifier si la valeur d'un champ est null (vide)

Est-ce une bonne façon de vérifier si la valeur d'un champ est null?

if($('#person_data[document_type]').value() != 'NULL'){}

Ou est-il un meilleur moyen?

82
demandé sur Mzn 2010-11-22 13:43:22

6 réponses

La valeur d'un champ ne peut pas être null, c'est toujours une valeur de chaîne.

Le code vérifiera si la valeur de la chaîne est la chaîne "NULL". Vous voulez vérifier si c'est une chaîne vide à la place:

if ($('#person_data[document_type]').val() != ''){}

Ou:

if ($('#person_data[document_type]').val().length != 0){}

Si vous voulez vérifier si l'élément existe, il faut le faire avant l'appel de val:

var $d = $('#person_data[document_type]');
if ($d.length != 0) {
  if ($d.val().length != 0 ) {...}
}
136
répondu Guffa 2010-11-22 10:47:16

Je voudrais également couper le champ de saisie, car un espace pourrait le faire ressembler à rempli

if ($.trim($('#person_data[document_type]').val()) != '')
{

}
36
répondu Flipke 2010-11-22 13:06:20

En supposant

var val = $('#person_data[document_type]').value();

Vous avez ces cas:

val === 'NULL';  // actual value is a string with content "NULL"
val === '';      // actual value is an empty string
val === null;    // actual value is null (absence of any value)

Alors, utilisez ce dont vous avez besoin.

11
répondu darioo 2010-11-22 10:50:24

Cela dépend du type d'information que vous transmettez au conditionnel..

Parfois, votre résultat sera null ou undefined ou '' ou 0, pour mon simple validation-je utiliser cette fonction si.

( $('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null )

NOTE: null != 'null'

10
répondu Allan Felipe Murara 2017-01-16 12:29:20
_helpers: {
        //Check is string null or empty
        isStringNullOrEmpty: function (val) {
            switch (val) {
                case "":
                case 0:
                case "0":
                case null:
                case false:
                case undefined:
                case typeof this === 'undefined':
                    return true;
                default: return false;
            }
        },

        //Check is string null or whitespace
        isStringNullOrWhiteSpace: function (val) {
            return this.isStringNullOrEmpty(val) || val.replace(/\s/g, "") === '';
        },

        //If string is null or empty then return Null or else original value
        nullIfStringNullOrEmpty: function (val) {
            if (this.isStringNullOrEmpty(val)) {
                return null;
            }
            return val;
        }
    },

Utilisez ces aides pour y parvenir.

4
répondu Nilesh Moradiya 2016-01-28 08:07:49

JQuery fournit val() Fonction et not value(). Vous pouvez vérifier la chaîne vide en utilisant jquery

if($('#person_data[document_type]').val() != ''){}
0
répondu Chinmayee G 2010-11-22 10:48:36