【问题标题】:Phalcon validation doesn't work not in modelPhalcon 验证在模型中不起作用
【发布时间】:2014-02-09 22:40:23
【问题描述】:

我不明白为什么这段代码不起作用

use Phalcon\Validation;
use Phalcon\Validation\Validator\Email as Email;

class LoginController extends ApiController
{
    public function indexAction()
    {
        $validation = new Phalcon\Validation();

        $validation->add('email', new Email([
            'field' => 'email',
            'message' => 'wrong email'
        ]));

        //same add

        $messages = $validation->validate($_POST);

        ...
    }
}

即使“电子邮件”字段错误,结果 $messages == 空数组

$validation->validate($_POST);

什么都不做。怎么了?

在这种情况下,我需要不在模型中进行验证。

【问题讨论】:

    标签: php validation phalcon


    【解决方案1】:

    如果您仍在代码中调用完整路径,请删除此选项。

    use Phalcon\Validation;
    

    也改变这个:

    use Phalcon\Validation\Validator\Email as Email;
    

    简单地说:

    use Phalcon\Validation\Validator\Email;
    

    你应该可以这样使用它:

    $validation = new Phalcon\Validation();
    $validation->add('email', new Email(array(
       'message' => 'The e-mail is not valid'
    )));
    
    $messages = $validation->validate($_POST);
    if (count($messages)) {
        foreach ($messages as $message) {
            echo $message, '<br>';
        }
    }
    

    【讨论】:

    • 感谢您的回复。我决定将验证放在一个单独的模型中,经过一个小时的代码斗争,我已经全部出来了)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多