給你使用jQuery的客戶端驗證一個很簡單的例子。試試看:
你喜歡的形式,app/views/users/_form.html.erb
<%= form_for(@message=Message.new, :html => {:id => 'contact-form'}) do |f| %>
<div class="form-group">
<label for="phoneNo">Phone Number:</label>
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">
<span class="glyphicon glyphicon-phone"> </span>
</span>
<%= f.text_field :contact, class: 'form-control' %>
</div>
</div>
在js文件:app/assets/javascritps/users.js
$(document).on('ready page:load', function(){
$('#contact-form').validate({
rules:{
"message[contact]": {
required: true,
regex: /^[0-9]{10}$/
}
},
messages:{
"message[contact]":{
required: "Enter your contact number",
regex: "Enter valid contact number"
}
},
highlight: function(element) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.form-group').removeClass('has-error');
},
errorPlacement: function(error, element) {
if(element.parent('.input-group').length) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
});
$.validator.addMethod("regex", function(value, element, regexpr) {
return regexpr.test(value);
}, "Enter valid number");
});
你可以試試https://jqueryvalidation.org/ – Milind
你想要客戶端驗證?您可以在Rails – AndreyS
@Milind中使用內置的服務器端驗證。謝謝,它看起來不錯,但是,有沒有辦法做到這一點,沒有這個插件.. –