0

検証の新しい要件があり、それを達成するための最良の方法に頭を悩ませようとしています。

メールアドレスまたはユーザー名のフィールドがあります。

この要件では、ユーザーが電子メールを入力すると電子メールの検証 (組み込みメソッド) が実行され、それ以外の場合、検証は基本的な句読点を含む文字になります。

だから私の考えは、@が入力された場合は電子メールの検証を実行し、それ以外の場合は基本的な句読点で文字を実行しますが、可能な他のアプローチについての入力を探しています.

また、このシナリオで if/else の 2 部構成の検証をどのようにコーディングしますか?

4

1 に答える 1

1
  $("#frm").validate({
            rules: {
                username: {
                    required: true,
                    usernameemail: true,
                    maxlength: 100
                }
            }
   });

   $.validator.addMethod("usernameemail", function(value, element) {
        if (this.optional(element)) // return true on optional element
            return true;
        valid = true;

        if (value.indexOf("@") > 0) {
            valid = valid && $.validator.methods.email.call(this, value, element);
        } else {
            valid = valid && $.validator.methods.username.call(this, value, element);
        }
        return valid;
    }, 'Please provide a valid username or email');

    $.validator.addMethod("username", function(value, element) {
        return this.optional(element) || /^[a-z0-9\-]+$/i.test(value);
    }, "Username must contain only letters, numbers, or dashes.");

ユーザー名の正規表現を必要なものに変更する必要があります。これが役立つことを願っています

于 2012-06-21T13:35:41.007 に答える