我需要在Cakephp中提交表单之前验证电子邮件格式。
我收到了一封无效的电子邮件(即 testuser1 ,而非 testuser1@domain.com )。请求已提交,然后出错。如果电子邮件无效,则不应提交请求。
非常好奇我在代码中遗漏了什么,并在论坛中提到了相关问题,但这对我不起作用。 ħ
代码是:
//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>
答案 0 :(得分:1)
我正在回答我自己的问题。
需要做一个小小的改变。
即,在提交表单之前,使用表单&gt;电子邮件代替表单 - &gt;文字来验证电子邮件。
代码就像:
$scope.incrementLikes = function(comment) {
if(comment.comment != null && comment.comment.length > 0) comment.likes++;
};
$scope.decrementLikes = function(comment) {
if(comment.comment != null && comment.comment.length > 0) comment.likes--;
};
答案 1 :(得分: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' => "email"
会在输入中添加值type
的{{1}}属性。
此外,您可以访问http://www.formvalidator.net/获取更多验证