我有四个字段。让我们称呼他们a
,b
,c
和d
。我需要验证它们。
错误是:
错误是不时:
这里有任何简洁的解决方案吗?谢谢你的建议。
修改
只有关系是所有四个变量都以event_
为前缀。它为我提供了event_name
,event_description
等等。
编辑#2:
目前我有类似......
if (
!empty($values['event_date'])
&& !empty($values['event_time'])
&& !empty($values['event_name'])
&& !empty($values['event_description'])
) {
检查所有字段是否已填满,如果是,则添加事件。
正如我之前所说,我需要在某些字段未填满时显示用户友好的错误(例如,用户忘记输入说明)。无论如何,当所有字段都填满(这意味着 - 一切正常)或没有字段填满时(这意味着 - 用户忽略事件添加而不想添加一个) - 不应显示错误。
我可以使用16'if'语句编写代码,但是没有更好的方法吗? :)
答案 0 :(得分:1)
这不是很漂亮,但只要你想要检查的字段有一些独特之处(例如“event _...”),你就可以遍历变量数组($ values,$ _POST等) )并仅检查重要的字段。然后,您可以轻松检查全部或全部情况。
这是一个简单的例子:
$total = 0;
$filled = 0;
foreach($values as $field => $val) {
if(strpos($field,'event_') === 0) {
$total++;
if( ! empty($val)) {
$filled++;
}
}
}
if($filled == 0 OR $total == $filled) {
//PASS VALIDATION
} else {
//FAIL VALIDATION
}
答案 1 :(得分:0)
其中一个输入的值与没有输入的值之间是否存在关系? 你能把它解析成空值吗?
if ( ! isset($post->a) ) $post->a = '';