Validation 主干视图无法退出单击事件验证
我使用两阶段浏览器验证,bootstrap acknowledgeinput确保字段不为空,jqBootstrapValidate in处理真实验证和正则表达式模式,并在表单字段下方添加一个棕色文本,给出错误。当用户单击[REGISTER]时按钮,我检测到它并将JSon数据发送到一些PHP,这些PHP进行服务器端验证。如果失败,它将填充不同Validation 主干视图无法退出单击事件验证,validation,backbone.js,view,Validation,Backbone.js,View,我使用两阶段浏览器验证,bootstrap acknowledgeinput确保字段不为空,jqBootstrapValidate in处理真实验证和正则表达式模式,并在表单字段下方添加一个棕色文本,给出错误。当用户单击[REGISTER]时按钮,我检测到它并将JSon数据发送到一些PHP,这些PHP进行服务器端验证。如果失败,它将填充不同标记中的文本,这些标记显示服务器端输入数据错误 我正在检测错误标签,但我不知道如何退出click事件而只是坐着 在不完整的表单上等待用户更正客户端验证 var
var RegisterView = Backbone.View.extend({
el: $("#container"),
events: {
'click .btn-primary' : 'saveClient',
'blur input#loginname' : 'userCheck'
},
saveClient: function (e) {
$('ul li').each(function(index){
if( $(this).text().length !== 0 ){
alert('client side error found');
return false;
}
});
var loginname = $('#loginname').val(),
password = $('#password').val(),
first = $('#first').val(),
last = $('#last').val(),
addr1 = $('#addr1').val(),
addr2 = $('#addr2').val(),
city = $('#city').val(),
state = $('#state').val(),
zip = $('#zip').val(),
phone = $('#phone').val(),
phone2 = $('#phone2').val(),
verified = 'N';
registermodel = new RegisterModel({
loginname : loginname,
password : password,
first : first,
last : last,
addr1 : addr1,
addr2 : addr2,
city : city,
state : state,
zip : zip,
phone : phone,
phone2 : phone2,
verified : verified
});
registermodel.save();
return false;
}
如果您想做的是: 如果在客户端检测到错误,请不要保存注册表模型 如果检测到错误,只需退出
saveClient
功能(请参阅hasrerror
boolean):
saveClient: function (e) {
var hasError = false;
$('ul li').each(function(index){
if( $(this).text().length !== 0 ){
alert('client side error found');
hasError = true;
return false; // this 'return false;' exits the .each loop function NOT the saveClient function
}
});
if (hasError)
return false; // this one does exit the saveClient function
// Code continues here..
// ...
}