m0_56789428 2023-05-23 09:06 采纳率: 97.4%
浏览 171
已结题

layui 怎么让input 输入框追加变为必填项,取消必填呢?

怎么让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"
           //如果取消必填又要怎么做?
            
        }       
      
    });

  • 写回答

2条回答 默认 最新

  • usp1994 2023-05-23 17:28
    关注

    你的问题可以总结为: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 属性,然后重新渲染表单即可。

    需要注意的是,在动态添加或删除验证规则时,需要确保表单元素已经被加载到页面中,并且也需要注意不要重复添加或删除规则。另外,由于表单验证是在表单提交或者表单元素失去焦点时触发的,所以动态添加或删除规则后,还需要触发相应的事件来重新验证表单。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月24日
  • 已采纳回答 5月24日
  • 修改了问题 5月23日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗