Я использую jQuery Validate plugin в моем приложении Grails, Вот код из GSP для проверки:JQuery Validation equalTo не работает с Grails
<script type="text/javascript">
$(document).ready(function() {
$('.save').attr('disabled', true);
jQuery.validator.addMethod("noSpace", function(value, element,e) {
return value.indexOf(" ") < 0 && value != "";
}, "${message(code:'sherif.jqueryValidation.nospaces')}");
$('#myForm').validate({
errorElement: "label",
errorClass:'error',
success: function() {
$('.save').attr('disabled', false);
},
rules :
{
username:{required : true,noSpace:true},
password :{required : true,noSpace:true},
confirmPassword:{required : true,noSpace:true,equalTo:"#password"},
contactNumber: { required : true, number:true},
email:{required:true , email:true}
}
,
messages : {
username:{required :"${message(code:'sherif.jqueryValidation.required')}"},
password : {required :"${message(code:'sherif.jqueryValidation.required')}"},
email:{required :"${message(code:'sherif.jqueryValidation.required')}" , email:"${message(code:'sherif.jqueryValidation.invalidemail')}"},
confirmPassword: {required :"${message(code:'sherif.jqueryValidation.required')}" , equalTo:"${message(code:'sherif.jqueryValidation.passwordmatch')}"},
contactNumber: { required : "${message(code:'sherif.jqueryValidation.required')}", number:"${message(code:'sherif.jqueryValidation.numberonly')}"}
}
});
});
</script>
Все валидация работает отлично, за исключением equalTo
проверки, хотя два поля пароля имеют одинаковое значение. Я получаю ошибку password doesn't match
.
Вот Пароль поле:
<div class="row form-group">
<div class="fieldcontain ${hasErrors(bean: usersInstance, field: 'password', 'error')} required">
<div class="col-sm-2 "><label for="password">
<g:message code="users.password.label" default="Password" />
<span class="required-indicator">*</span>
</label>
</div>
<div class="col-sm-10"> <g:passwordField style = "width:40%;" class="form-control input" name="password" required="" value="${usersInstance?.password}"/>
</div>
</div>
</div>
<div class="row form-group">
<div class="fieldcontain ${hasErrors(bean: usersInstance, field: 'confirmPassword', 'error')} required">
<div class="col-sm-3 "><label for="confirmPassword">
<g:message code="users.confirmPassword.label" default="confirm Password" />
<span class="required-indicator">*</span>
</label>
</div>
<div class="col-sm-9"> <g:passwordField style = "width:40%;" class="form-control input" name="confirmPassword" required="" value="${usersInstance?.confirmPassword}"/>
</div>
</div>
</div>
есть все, что я пропустил, что может вызвать эту ошибку?
Это помогло бы увидеть фактический ОКАЗАННЫХ HTML, то мы можем проверить, что поле 'name =" password "' содержит атрибут 'id =" password ". – Sparky