如何避免客户端验证中的冗余条件
How can I avoid redundant conditionals in client-side validation?
我的代码使用许多条件语句并且变得复杂。我正在寻找一种更有效的方法来验证输入。
我的代码以 JSON 形式接收服务器端验证的结果。对于许多输入中的每一个,如果输入的值无效,服务器将返回相应的false
。条件语句相应地修改 UI。下面是一个示例:
else if((data.address===false)&&(data.city===false)&&(data.municipality===false))
{
$('#adrserror').html('You have to put an address, city and municiplaity.');
$('label.error').hide();
$('.openpaddress').find('input').prop('readonly', false);
}
else if((data.address===false)&&(data.city===false))
{
$('#adrserror').html('You have to fill the address and the city fields.');
$('label.error').hide();
$('.openpaddress').find('#municipality').prop('readonly', true).css('border', '0px');
}
else if((data.city===false)&&(data.municipality===false))
...
HTML 仅包含三个输入元素(地址、城市和自治市(以及随附的标签。
像这样:
var missing = [];
var fields = ['address', 'city', 'municipality'];
for (var i = 0; i < fields.length; i++) {
var f = fields[i];
if (data[f] === false) {
missing.push(f);
}
}
if (missing.length > 0) {
$('#adrserror').text('Please fill in fields: ' + missing.join(', '));
}
相关文章:
- 缓存的最佳实践.避免冗余缓存
- UMD:正在分配给模块,导出冗余
- 如何更正阵列中的这种冗余
- Regex删除涉及零或一的冗余乘法/除法
- 删除方法中的冗余代码
- 多选择器冗余
- 简化冗余jquery's代码
- 排列具有相同数据的多个对象(减少冗余)
- Meteor模板-继承或外包事件以避免代码冗余
- HTML-减少HTML代码冗余
- 如果我两次使用相同的反应/冗余组件,它们会共享状态吗?
- 等待多个 ipc 调用完成,然后再继续电子/冗余
- 在 Javascript 中模拟“IN”运算符以简化冗余逻辑 OR 的最佳解决方案是什么?
- elasticsearch:保留冗余(非规范化)数据或保留 id 列表以进行交叉引用
- 如何获取调度冗余
- 编写函数以防止冗余
- 如何避免客户端验证中的冗余条件
- 同构反应-路由器-冗余同步历史中间件
- ExtJS - 如何创建可重用的函数以避免代码冗余
- 构建本地化反应/冗余应用程序的存储