Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
名称字段验证在cakephp中不起作用_Cakephp_Cakephp 2.0 - Fatal编程技术网

名称字段验证在cakephp中不起作用

名称字段验证在cakephp中不起作用,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,下面是我的模型函数,它已经在工作了。。。 我需要验证名称字段 当我提交空白表格时……表格显示输入投资组合名称。 当我在名称字段中输入数值时,表单显示输入有效的投资组合名称。 但是,当我提交空白表单时,表单不显示任何名称字段的消息。 当我在name文本框中输入数值并提交时,它会正确显示消息 请帮助我使这两个规则都适用于名称字段 所以请建议我如何实现这一点 <?php class Portfolio extends AppModel{ var $name = 'Portfolio';

下面是我的模型函数,它已经在工作了。。。 我需要验证名称字段

当我提交空白表格时……表格显示输入投资组合名称。

当我在名称字段中输入数值时,表单显示输入有效的投资组合名称。

但是,当我提交空白表单时,表单不显示任何名称字段的消息。

当我在name文本框中输入数值并提交时,它会正确显示消息

请帮助我使这两个规则都适用于名称字段

所以请建议我如何实现这一点

<?php
class Portfolio extends AppModel{
   var $name = 'Portfolio';
   var $validate = array(
            'name' => array(
            'rule' => 'notEmpty',
            'message' => "Enter portfolio name."
         ),
            'name' => array(
            'rule'    => '/^[a-zA-Z]*$/',
            'message' => "Enter valid portfolio name."
         ),
            'job_title' => array(
            'rule' => 'notEmpty',
            'message' => "Enter your quote request."
         ),
            'freight_mode'=> array(
                     'rule'=>'notEmpty',
                     'message'=>"Enter your frieght mode."
         ),
            'expected_transport_growth' => array(
            'rule' => 'notEmpty',
            'message' => "Select expected transport growth."
         ),
            'current_annual_spend' => array(
            'rule' => 'notEmpty',
            'message' => "Select current annual spend."
         ),
            'expected_annual_spend' => array(
            'rule' => 'notEmpty',
            'message' => "Select expected annual spend."
         ),
            'quotes_expiry' => array(
            'rule' => 'notEmpty',
            'message' => "Enter deadline on quote request."
         ),
             'quotes_required' => array(
            'rule' => 'notEmpty',
            'message' => "Select quote requrest required."
         ),
            'contract_start_date' => array(
            'rule' => 'notEmpty',
            'message' => "Enter contract start date." 
        ),     
   );

   /*var $belongsTo = array(
        'SupplierUquotes'   => array(
        'className'     => 'SupplierUquotes',
        'foreignKey'    => 'id'
    ),);*/


  }
?>

试试这个

<?php
public $validate = array(
    'name' => array(
        'notEmpty' => array(
            'rule' => 'notEmpty',
            'message' => "Enter portfolio name."
        ),
        'valid' => array(
            'rule' => '/^[a-zA-Z]*$/',
            'message' => "Enter valid portfolio name."
        )
    )
);
?>

尝试以下代码:

<?php
    class Portfolio extends AppModel{
       var $name = 'Portfolio';
       var $validate = array(
                'name' => array( // here 'name' is the field name to be validated
                'notEmpty'=>array( // here 'notEmpty' is user defined rule name, it should not be "rule" which is a cakephp reserved word, I think
                'rule'=>'notEmpty', // here 'notEmpty'  is the actual rule applied on the field 'name'
                'message'=>'Enter portfolio name.'
                ),
                'validName'=>array( // here 'validName' is another user-defined rule name. It should be different for a particular field.
                'rule'=>'/^[a-zA-Z]*$/',
                'message'=>'Enter valid portfolio name.'
                )
                ),

                'job_title' => array(
                'rule' => 'notEmpty',
                'message' => "Enter your quote request."
             ),
                'freight_mode'=> array(
                         'rule'=>'notEmpty',
                         'message'=>"Enter your frieght mode."
             ),
                'expected_transport_growth' => array(
                'rule' => 'notEmpty',
                'message' => "Select expected transport growth."
             ),
                'current_annual_spend' => array(
                'rule' => 'notEmpty',
                'message' => "Select current annual spend."
             ),
                'expected_annual_spend' => array(
                'rule' => 'notEmpty',
                'message' => "Select expected annual spend."
             ),
                'quotes_expiry' => array(
                'rule' => 'notEmpty',
                'message' => "Enter deadline on quote request."
             ),
                 'quotes_required' => array(
                'rule' => 'notEmpty',
                'message' => "Select quote requrest required."
             ),
                'contract_start_date' => array(
                'rule' => 'notEmpty',
                'message' => "Enter contract start date." 
            ),     
       );