怎么让input 输入框变为必填?必填的验证 lay-verify="required" 有什么办法把这个验证追加上吗?
如果取消必填又要怎么做?
<div class="layui-form-item">
<label class="layui-form-label">选择</label>
<div class="layui-input-block">
<input type="radio" id="cycle0" name="cycle" value="0" title="方法一" lay-filter="cycle" checked="">
<input type="radio" id="cycle1" name="cycle" value="1" title="方法二 lay-filter="cycle" >
</div>
</div>
<div id="work" class="layui-form-item " >
<label class="layui-form-label0" style="width: 100px;">工作</label>
<div class="layui-input-block" style="margin-left: 20px">
<input name="work_no" id="inputwork_no" class="layui-input}" lay-vertype="tips" style="width:100px">
</div>
</div>
layui.form.on('radio(cycle)', function (data) {
work_cycle = data.value;
if(work_cycle ==0){
$('#work_no').hide();
}else if(work_cycle==1){
$('#work_no').show()
//此情况下怎么让input 输入框变为必填?lay-verify="required"
//如果取消必填又要怎么做?
}
});
你的问题可以总结为:layui表单动态验证的问题,动态追加必填和取消必填。
在 layui 中,可以通过表单元素的 lay-verify
属性来动态添加或删除验证规则。
动态追加必填规则的示例代码:
// 动态追加必填规则
$('input[name=dynamic_input]').attr('lay-verify', 'required');
layui.form.render();
z
在代码中,我们通过 jQuery 的 attr
方法来为一个表单元素添加 lay-verify
属性,并将其值设置为 required
,这样该元素就会变成必填项。
同时,由于动态添加了验证规则,所以还需要调用 layui 的 form.render()
方法,来重新渲染表单,使新的规则生效。
如果要动态取消必填规则,可以将表单元素的 lay-verify
属性设置为空字符串或者直接删除该属性,然后重新渲染表单即可。
动态取消必填规则的示例代码:
// 动态取消必填规则
$('input[name=dynamic_input]').removeAttr('lay-verify');
layui.form.render();
在代码中,我们通过 jQuery 的 removeAttr
方法来移除表单元素的 lay-verify
属性,然后重新渲染表单即可。
需要注意的是,在动态添加或删除验证规则时,需要确保表单元素已经被加载到页面中,并且也需要注意不要重复添加或删除规则。另外,由于表单验证是在表单提交或者表单元素失去焦点时触发的,所以动态添加或删除规则后,还需要触发相应的事件来重新验证表单。
可以在js判断,获取不到输入的值return 一个alert 提示不能为空,这种方式灵活一点.