Sirius Validator未返回所有错误消息

时间:2016-02-21 03:11:33

标签: php forms validation

我尝试使用Sirius form validator来验证登录表单。我遇到getMessages()只有一次只返回一个错误的问题。文档显示此方法应该返回所有错误消息。

如果我导航到包含登录表单的页面并填写表单,将电子邮件和密码留空,则Sirius仅返回一条错误消息。电子邮件错误。正如您从代码中看到的那样,我正在使用required检查电子邮件和密码是否存在。

如果我重复提交表单,并且只将密码字段留空,则Sirius会返回需要密码的错误。

表格

<div class="form-group">
    <label for="email">Email address</label>
    <input type="email" class="form-control" name="email" id="email" placeholder="Email">
</div>
<div class="form-group">
    <label for="password">Password</label>
    <input type="password" class="form-control" name="password" id="password" placeholder="Password">
</div>

<input type="hidden" name="{{ name_key }}" value="{{ name_value }}">
<input type="hidden" name="{{ value_key }}" value="{{ value_value }}">
<button type="submit" class="btn btn-default">Submit</button>

用于验证表单的代码:

 /*
 * Validate user input
 */
$validator = new \Sirius\Validation\Validator;
$validator->add(
    array(
        'email:Email address' => 'required | email',
        'password:Password' => 'required'
    )
);

if (!$validator->validate($request->getParsedBody())) {
    print_r($validator->getMessages());
}

输出:

Array ( [email] => Array ( [0] => Sirius\Validation\ErrorMessage Object ( [template:protected] => {label} is required [variables:protected] => Array ( [label] => Email address [value] => ) ) ) ) 

任何想法我做错了什么?

0 个答案:

没有答案