在同一页面上显示多个模型表单时,我遇到客户端验证问题。它就像一个用户可以切换输入表单的列表,只保存选中的表单。
我已经写了一些javascript代码,删除并重新插入每个字段的name属性,但很明显,不可见字段仍在验证,导致用户无法提交表单。
我已经看过" whenClient"我的模型中的验证属性,但问题是我不知道如何选择正在验证的字段。 如果页面上只有一个表单,我可以轻松选择每个输入字段,但是有很多表单,id就像" modelname-index-attribute"。 因此,我需要访问使用javascript验证的字段,或者找到另一种方式来提交表单。
顺便说一句,我还试图删除提交中的所有隐藏表单,但如果可见表单有错误,则表单将不会被提交,并且删除的字段将无法显示。我还遇到了一种奇怪的行为,当我使用javascript删除并重新插入表单时,客户端验证不会发生,但这将是一个不同的问题。
我添加了这样的表单字段:
<?= $form->field($model, '['.$i.']attribute')->textInput(...); ?>
有什么想法吗?