【问题标题】:Cakephp Email format validation before submit the form提交表单前的Cakephp电子邮件格式验证
【发布时间】:2017-03-21 11:04:39
【问题描述】:

在 Cakephp 中提交表单之前,我需要验证电子邮件格式。

我收到了无效的电子邮件(即 testuser1 而不是 testuser1@domain.com)。请求已提交,然后出现错误。如果电子邮件无效,则不应提交请求。

非常好奇我在代码中遗漏了什么,并在论坛中提到了相关问题,但这对我不起作用。 H

代码是:

//for email input
 <div class="form-group">
    <?= $this->Form->label("email", __('Email')); ?>
            <?=     $this->Form->text("email", [
                    'required' => true,
                    'label'    => false,
                    'id'       => "email",]);
            ?>
 </div> 


<div class="btn-group btn-group-spaced form-group" role="group" aria-label="Actions">
    <?= $this->Form->button(__('Submit'), ['class' => 'btn orange btn-default']) ?>
    <?= $this->Form->button(__('Clear'), ['class' => 'btn orange hollow btn-default ucase','id' => 'show-prof','type' => 'reset']) ?>
</div>

【问题讨论】:

    标签: forms validation email cakephp


    【解决方案1】:

    试试:

    //for email input
     <div class="form-group">
        <?= $this->Form->label("email", __('Email')); ?>
                <?=     $this->Form->input("email", [
                        'required' => true,
                        'label'    => false,
                        'id'       => "email",
                        'type'     => "email"
                        ]);
                ?>
     </div> 
    
    
    <div class="btn-group btn-group-spaced form-group" role="group" aria-label="Actions">
        <?= $this->Form->button(__('Submit'), ['class' => 'btn orange btn-default']) ?>
        <?= $this->Form->button(__('Clear'), ['class' => 'btn orange hollow btn-default ucase','id' => 'show-prof','type' => 'reset']) ?>
    </div>
    

    'type' =&gt; "email" 将在输入中添加一个值为emailtype 属性。

    阅读:CakePHP Form helper

    另外,您可以访问http://www.formvalidator.net/ 进行更多验证

    【讨论】:

    • 请尽量避免只有代码的答案,尤其是初学者很难通过比较代码来搞清楚。关于添加的type 选项的简短提示以及它的作用将使这个答案更好。
    【解决方案2】:

    我正在回答我自己的问题。

    需要做一点小改动。

    也就是说,在提交表单之前,使用 Form->email 来验证电子邮件,而不是 Form->text

    代码如下:

     <?=     $this->Form->email("email", [
                    'required' => true,
                    'label'    => false,
                    'id'       => "email",]);
      ?>
    

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多