jQuery validation对我而言有点purpose肿,所以我找到了Happy.js。不幸的是,仅在使用“提交”按钮时才触发验证,而我没有。 jQuery验证提供了一个“form()”函数以编程方式触发验证,因此我尝试将函数实现到Happy.js中-没有成功。我找到了一个开心的回调实现(commit),但这也不起作用。
一些代码(已更新):
$('#someFormSubmit').click(function() {
$('#someForm').submit();
});
$('#someForm').submit(function(event) {
event.preventDefault();
var jqxhr = $.post('/some', $('#someForm').serialize())
.success(function(response) {});
});
$("#someForm").isHappy({
fields: {
'#name': {
required: true,
message: "Hello"
},
},
testMode: true,
unHappy: function () { alert("hello"); },
});
回调没有警报,“happy”始终为true(应为false)。
该表格位于twitter-bootstrap模式框中。由于modal-body和modal-footer分开,因此仅存在要提交的链接.btn,但没有正确的输入type = submit。
有什么办法吗?
最佳答案
尝试这样的事情:
// Remember to do all your happy validation stuff first, to ensure that jQuery
// fires off the events in the correct order.
$("#yourForm").isHappy({
// your validation config
});
$("#yourForm").submit(function (event) {
// This line prevents the form from actually being submitted
event.preventDefault();
// You can then define your actions however you like
$.post({
// your config here
});
});
// When it's time to "submit" the form, it's easy
$("#yourForm").submit();
我尚未使用happy.js对此进行测试,但它也应该触发验证。
更新:这是我的jsfiddle。它表明它正在工作(尽管如果您检查了小提琴,则将看到对该代码的一些修改)。我不知道为什么这些字段没有在模糊时验证。可以使用happy.js来解决这个问题,因此,如果遇到问题,您可能希望将问题发布给作者。
关于javascript - 使用JavaScript触发happy.js验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9297033/