フォームが送信されることをLayui-ている必要があります確認のチェックボックスを確認してください

問題

フォームの送信時Layui、そこになりますcheckbox必須とし、提出時に検証する必要があります。

ソリューション

  1. ではHTML、追加コンテンツの形式
<form action="" method="">
    <!-- Checkbox -->
    <input type="checkbox" name="test[]" value="1" title="1">
    <input type="checkbox" name="test[]" value="2" title="2">
    <input type="checkbox" name="test[]" value="3" title="3">
    <input type="checkbox" name="test[]" value="4" title="4">

    <!-- 提交 Button -->
    <button type="submit" class="layui-btn" lay-submit layui-filter="filter">提交</button>
</form>
  1. JavaScript確認してください
<script>
    layui.use('form', () => {
        const form = layui.form;
        
        form.on('submit(filter)', (obj) => {
            let data = obj.field;
            
            if (!Object.keys(data).filter((x) => { return /^test\[\d+\]&/.test(x) }).length) {
                console.log('请选择');
                return false;
            }
        });
    });
</script>

説明

  1. checkbox命名する必要がありname + []、上記の例である使用されますtest[]
  2. Object.keys(data)鍵データを取得するために使用され、戻り値が配列である、配列があるdataキー名。
  3. Array.filter()配列の値を取得するための要件を満たして、渡されcallback、戻り値は配列です。上記の例では関数の本体は、以降、ポジティブにマッチするセット、正の対応、時間のみ使用する必要があるに対応缶。checkboxnametest[]testtestname 值
  4. 認証が失敗したときに最後に、使用することができreturn false提出を防ぐために。

おすすめ

転載: www.cnblogs.com/Super-Lee/p/12587721.html