silverstripe-userforms/thirdparty/jquery-validate/test/messages.js
2013-03-18 19:06:47 -04:00

63 lines
1.8 KiB
JavaScript

module("messages");
test("predefined message not overwritten by addMethod(a, b, undefined)", function() {
var message = "my custom message";
$.validator.messages.custom = message;
$.validator.addMethod("custom", function() {});
deepEqual(message, $.validator.messages.custom);
delete $.validator.messages.custom;
delete $.validator.methods.custom;
});
test("group error messages", function() {
$.validator.addClassRules({
requiredDateRange: {required:true, date:true, dateRange:true}
});
$.validator.addMethod("dateRange", function() {
return new Date($("#fromDate").val()) < new Date($("#toDate").val());
}, "Please specify a correct date range.");
var form = $("#dateRangeForm");
form.validate({
groups: {
dateRange: "fromDate toDate"
},
errorPlacement: function(error) {
form.find(".errorContainer").append(error);
}
});
ok( !form.valid() );
equal( 1, form.find(".errorContainer *").length );
equal( "Please enter a valid date.", form.find(".errorContainer label.error").text() );
$("#fromDate").val("12/03/2006");
$("#toDate").val("12/01/2006");
ok( !form.valid() );
equal( "Please specify a correct date range.", form.find(".errorContainer label.error").text() );
$("#toDate").val("12/04/2006");
ok( form.valid() );
ok( form.find(".errorContainer label.error").is(":hidden") );
});
test("read messages from metadata", function() {
var form = $("#testForm9");
form.validate();
var e = $("#testEmail9");
e.valid();
equal( form.find("label").text(), "required" );
e.val("bla").valid();
equal( form.find("label").text(), "email" );
});
test("read messages from metadata, with meta option specified, but no metadata in there", function() {
var form = $("#testForm1clean");
form.validate({
meta: "validate",
rules: {
firstname: "required"
}
});
ok(!form.valid(), "not valid");
});