如何取消显示不必要的验证消息

时间:2019-02-17 12:26:02

标签: php validation cakephp-2.0

我现在正在使用以下技术技能来构建类似电子商务网站的Web应用程序,并且需要创建一个新页面来修改usernameemail和{{1}等用户信息}。

即使passwordusername中有任何错误,我也希望Web应用程序返回电子邮件的验证消息,但是它不能很好地工作。

例如, 用户名->空白,电子邮件->空白,密码->空白=>在这种情况下,应显示电子邮件的验证消息,但不应显示其他消息。 (当然,在另一页上使用了电子邮件和密码的验证,因此我无法删除配置)

技术技能

  • CakePHP 2.10版
  • PHP 7

我已经尝试了以下方法。 -尝试开发仅用于验证电子邮件

password
  • 试图取消验证错误消息
* UserController
$this->User->validates([
                        'email'
                    ])) {
  • UserController.php
unset($this->validationErrors['User']['username']);
unset($this->validationErrors['User']['password']);
  • modify.ctp
:

public function modify() {
    $this->loadModel('User');
    if($this->request->is('post') || $this->request->is('put')){
        $this->User->set($this->request->data);
        if ($this->User->validates(['email'])) {
            $this->User->save(array(
                'email' => $this->request->data['User']['email']
        ));
            $this->Flash->set(__('Succeeded changing email address'));
            $this->redirect($this->refer());
        } else {
            $this->Flash->set(__('Failed changing email address'));
        }

    }
}

:
  • User.php
<?php

:

<p>username: </p>
<?php echo $this->Form->input('username', [
                  'type' => 'text',
                  'required' => false,
                ]);
?>

<p>email: </p>
<?php echo $this->Form->input('email', [
                  'type' => 'email',
                  'required' => false,
                ]);
?>

<p>password: </p>
<?php echo $this->Form->input('password', [
                  'type' => 'password',
                  'required' => false,
                ]);
?>

0 个答案:

没有答案