2014-01-21 4 views
1

Я использую jQuery для проверки моей формы. Я хотел бы узнать, является ли имя пользователя одним словом. Я вижу селектор в JQuery http://jqueryvalidation.org/category/selectors/, но не знаю, как его использовать в моем случае.Проверка формы с помощью JQuery

<form id="register" name="register" action="/codejudge/contest.php" method="post" > 
<label for ="Username"> Username </label><br> 
<input type="text" class="register-control" id="Username" name="Username" placeholder="Enter Username"> <br><br> 
<label for ="Password"> Password </label><br> 
<input type="password" class="register-control" id="password" name="password" placeholder="Enter Password" ><br><br> 
<label for ="Confirm-Password"> Confirm Password </label><br> 
<input type="password" class="register-control" id="Confirm_Password" name="Confirm_Password" placeholder="Confirm Password" ><br><br> 
<label for="email" > Email </label><br> 
<input type ="email" class="register-control" id="email" name="email" placeholder="Enter Valid Email"><br><br> 
<button type="submit" >Submit</button> 

</form> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#register").validate({ 
errorElement: 'div', 
rules:{ 
    "Username":{ 
    required: true,  
    minlength:5 
    }, 
"password":{ 
required:true, 
minlength:5 
}, 
"Confirm_Password":{ 
required:true, 
equalTo: "#password" 
}, 
"email":{ 
required:true, 
} 
}, 
messages: { 
    Username:{ 
       required: "Please provide a username", 
       minlength: "Your password must be at least 5 characters long" 
    }, 
    password: { 
       required: "Please provide a password", 
       minlength: "Your password must be at least 5 characters long" 
       }, 
    Confirm_Password: { 
       required: "Please provide a confirm password", 
       equalTo: "Please enter the same password as above" 
       } 
    }, 
    email:{ 
       required: "Please provide a valid email", 
    } 
    }); 
}); 
</script> 

ответ

5
  1. Добавить валидатора (функция) такого рода:
jQuery.validator.addMethod('word_check', function (value, element) { 
    var word = "ausername"; 
    var space_check = word.split(" ")[1]; 
    //if space check is undefined you have a single word! 
}); 

теперь в вашем Правила код:

rules:{ 
    "Username":{ 
    required: true,  
    minlength:5, 
    word_check : true 
    }, 
+0

var word = "ausername"; не должно быть «Username»? – chandan111

+0

thats только пользовательская строка, которую я использовал. Говоря логично, да. В этой переменной появится имя пользователя. Goodluck – Makrand

+0

Я написал 'jQuery.validator.addMethod ('word_check', function (value, element) { var word =" Username "; var space_check = word.split (" ") [1]; return (typeof space_check == 'undefined') // Если проверка пространства не определена, у вас есть одно слово! }, «специальный символ/пробелы недопустимы»); 'form не отправлен, когда я вводил пробел в имени пользователя, но он не показывает ошибку – chandan111

4

Добавить матч регулярного выражения на поле, чтобы убедиться, что это только буквы, цифры, - или _ Ниже, как добавить матч REGE в поле.

$("#Textbox").rules("add", { regex: "^([a-zA-Z0-9-_])*$" }) 
2

Вы можете создать пользовательский правило, проверяющее объем занавеса DS. Пример

$("#register").validate({ 
jQuery.validator.addMethod("amountOfWords", function(value, element, options) { 
    return this.optional(element) || /*regular expression logic*/; 
}, "Too many words entered"); 

rules:{ 
    "Username":{ 
    required: true,  
    minlength:5, 
    amountOfWords: 1 
    } 

} 
} 
Смежные вопросы