Reputation: 136
I have a simple domain whois form:
<form id="domaincheck" class="form-inline ltr" method="post">
<input type="text" class="form-control center input-md" name="sld" id="sld" placeholder="pleade enter domain name" required>
<select class="form-control ltr input-md input-group-addon" id="tld" name="tld" multiple="multiple">
<option value="com" selected="">.com</option>
<option value="ir">.ir</option>
<option value="net">.net</option>
<option value="org">.org</option>
<option value="co">.co</option>
<option value="xyz">.xyz</option>
<option value="biz">.biz</option>
<option value="info">.info</option>
<option value="asia">.asia</option>
<option value="us">.us</option>
<option value="mobi">.mobi</option>
<option value="name">.name</option>
</select>
<button type="button" class="btn btn-info" onclick="get_whois()">check!</button>
</form>
and use jquery validation plugin to validate. I have added this code to validate input to set minimum chars must be 4.
$("#domaincheck").validate({
rules: {
sld: {
required: true,
minlength: 4
}
},
messages: {
sld: {
required: "Please input domain name!",
minlength: jQuery.validator.format("Please, at least {0} characters are necessary")
}
}
});
Now how to disable button that have onclick event to avoid send request until input be valid. and also add rule to say just these characters ( a-z A-z and "-" ) is valid to type in input.
Any Help?
Thanks
Upvotes: 0
Views: 2663
Reputation: 583
$.validator.addMethod("sldRegex", function(value, element) {
return this.optional(element) || /^[A-Za-z\-]+$/i.test(value);
}, "Username must contain only letters, numbers, or dashes.");
$("#domaincheck").validate({
rules: {
sld: {
required: true,
minlength: 4,
sldRegex: true
}
},
messages: {
sld: {
required: "Please input domain name!",
minlength: jQuery.validator.format("Please, at least {0} characters are necessary")
}
}
,submitHandler: function(form) {
form.submit() ;
}
});
Upvotes: 1