2014-04-28 139 views
1

我需要有邮政编码的验证标准。验证应确保邮编的长度为4及其所有数字。在我的mySQL数据库中,postcode被设置为VARCHAR 4和Null。在我的模型的代码如下:验证cakePHP

'customer_postcode' => array(
       'maximum' => array(
        'rule' => array('numeric'), 
        'message' => 'Enter valid postcode' 

       ), 
       'minimum' => array(
        'rule' => array('minLength','4'), 
        'message' => 'Minimum 4 characters long' 

       ), 
       ), 

但是当过我尝试添加一个客户没有邮政编码,它出现说:“请输入有效的邮政编码”,即使它被设置为空在数据库中。 我该如何解决这个问题?

回答

2

尝试将allowEmpty设置为true以接受空值as described in the CakePHP documentation

您的代码可能是这样的:

'customer_postcode' => array(
       'maximum' => array(
        'rule' => array('numeric'), 
        'message' => 'Enter valid postcode', 
        'allowEmpty' => true  
       ), 
       'minimum' => array(
        'rule' => array('minLength','4'), 
        'message' => 'Minimum 4 characters long' 
       ), 
       ), 
+0

谢谢@Karol – user3579801