【问题标题】:Form validation. Require the user to enter "OK" to continue表单验证。要求用户输入“OK”继续
【发布时间】:2019-06-10 10:15:56
【问题描述】:

我正在开发一个基于 CakePHP 2.0.5 的遗留 PHP 应用程序。有一个文本字段,我需要用户输入单词“OK”才能继续。

<?php echo $this->Form->create('Transaction', array('url' => array('controller' => 'transactions', 'action' => 'go_proceed'), 'id' => 'form-add')); ?> 

<?php echo $this->Form->input("validate_ok", array("div" => false, "label" => false, 'class' => 'form-control', 'required'=>true)); ?> 

<?php echo $this->Form->end(); ?>

目前,如果用户没有输入任何内容,然后单击提交按钮,则会出现一条消息“请填写此字段”。

如果用户输入了“OK”,我该如何验证?如果用户输入“确定”并点击提交按钮,我将允许他提交表单,如果没有,我想显示消息“请输入确定继续”。

【问题讨论】:

  • 可以用ajax验证文本吗?
  • 我有想过,甚至使用标准的Javascript进行验证,但是现有的应用程序有一个非常优雅的验证,显示错误消息“请填写此字段”我认为结果从那个'必需'=> true。如果我们可以使用相同的机制来满足用户必须输入“OK”的要求,那就太好了。

标签: php cakephp cakephp-2.0


【解决方案1】:

在您的输入中添加'pattern' =&gt; 'REGEX_PATTERN',如下所示:

<?= $this->Form->input('validate_ok', [
   'div' => false, 
   'label' => false, 
   'class' => 'form-control', 
   'required' => true,
   'pattern' => 'OK|ok',
]); ?> 

https://www.w3schools.com/tags/att_input_pattern.asp

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多