Killer Whale
Killer Whale

Reputation: 55

jQuery Validation - check if a string has a unicode or space character doesn't working

Please see my code, checkUser function doesn't working. I think there is an error in value.match() function:

<form id="register_form" method="post" action="">
    <fieldset>
        <legend>Info</legend>

        <div>
            <label>Username</label>
            <input type="text" name="username" id="username"/>
            <input type="submit" id="btnAccess" class="button" value="Submit" name="btnAccess"/>
    </fieldset>
</form>
$(document).ready(function() {
    var validator = $('#register_form').validate({
        rules: {
            username: {
                required: true,
                minlength: 4,
                checkUsername: true
            }
        },
        messages: {
            username: {
                required: "No blank",
                minlength: "Enter atleast 4 words"
            }
        }
    });

    $.validator.addMethod('checkUsername', function(value, element) {
        return this.optional(element) || !/\s/g.test(value) || !value.match(/^ÀÁÂÃÈÉÊÌÍÒÓÔÕÙ+/);
    },  "No space or unicode character");
});

You can check here http://jsfiddle.net/nambatre/rEpqr/

Upvotes: 1

Views: 1909

Answers (1)

Arun P Johny
Arun P Johny

Reputation: 388446

Try

jQuery(function ($) {
    var validator = $('#register_form').validate({
        rules: {
            username: {
                required: true,
                minlength: 4,
                checkUsername: true
            }
        },
        messages: {
            username: {
                required: "No blank",
                minlength: "Enter atleast 4 words"
            }
        }
    });

    $.validator.addMethod('checkUsername', function(value, element) {
        return this.optional(element) || (!/\s/g.test(value) && !/[ÀÁÂÃÈÉÊÌÍÒÓÔÕÙ]/.test(value));
    },  "No space or unicode character");;
});

Demo: Fiddle

Upvotes: 1

Related Questions