一、修正表单相当中的必填检测并非在后台模型定义的检测方式。
不知道大家有没有发现,V9表单向导中新增修改字段可以通过自定义字符长度是否为0设置是否“必填”,但是当你选择了“数据检验正则”方式之后,即使“字符长度取值范围”设置最小值为0,但是前端还是会检测提示该项必填。这是因为这一项会检测是否内容符合,如果你没有填,那么数据是Null,自然不符合这个检测正则。
表单向导检测必填
那么怎么修改V9表单向导这一检测必填方式,做修正呢?
具体方法:找到phpcms/modules/formguide/fields/formguide_form.class.php,具体修改这一文件中的判断标准,找到第31行:
$star = $v['minlength'] || $v['pattern'] ? 1 : 0;
修改为:
$star = $v['minlength'] ? 1 : 0;
这个修改的意思,就是不要同时检测是否符合正则,只检测字符填写的最小长度。
二、自定义修改V9表单向导提交后返回的地址。
具体修改文件phpcms\modules\formguide\index.php,默认行数:第73行,原始代码:
showmessage(L('thanks'), APP_PATH);
其中APP_PATH是网站动态域名,也就是V9首页。 有朋友说,在caches\configs\system.php 下可以看到默认情况下是返回首页,这在某栏目做子网站的情况下就不方便了。
比如我们可以自定义我们修改成表单提交之后,自动返回前一页:
showmessage(L('thanks'), HTTP_REFERER);