日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP动态验证,php-动态更改验证规则

發布時間:2024/7/5 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP动态验证,php-动态更改验证规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在處理包含用戶數據,特別是電話號碼字段的表單.通常不需要電話號碼,因此模型中唯一的驗證規則是usphone規則.但是,如果用戶正在提交此表格,則電話號碼變得必不可少.我以為我可以在運行中簡單地添加驗證規則,設置模型并調用validates方法,但是我做錯了或者沒有按我預期的方式工作.

在我的控制器中:

# Update a few validation rules that are specific to this context

$this->Proposal->Requestor->validate['phone_number']['notempty'] = array(

'rule' => 'notEmpty',

'message' => 'Please enter a phone number so can can contact you with any questions about the work.',

'allowEmpty' => false,

'required' => true,

);

$validationErrors = array();

$this->Proposal->Requestor->set( $this->data['Requestor'] ); # $this->data['Requestor']['phone_number'] only (no other requestor data)

if( !$this->Proposal->Requestor->validates( array( 'fieldList' => array( 'phone_number' ) ) ) ) {

$validationErrors['Requestor'] = $this->Proposal->Requestor->validationErrors;

}

即使我將電話號碼字段留空,也不會報告任何錯誤.在這種情況下,我向用戶請求的唯一信息是他們的電話號碼,因此其余的請求者數據為空,但是我嘗試合并其余的用戶數據,但得到的結果相同.如果刪除fieldList選項,則會在其他字段上收到錯誤消息,但空電話號碼上仍然沒有任何提示.

知道我在這里缺少什么嗎?我已經忙了好幾個小時了,只是找不到正確的答案.

謝謝.

解決方法:

解決方案最終是雙重的:

>我在phone_number字段上已有規則,將值強制為美國電話號碼.該規則還將allowEmpty設置為true,并且將false設置為false.我想捕獲一個空值,以便顯示特別精確的消息.

>我必須更新現有規則以翻轉allowEmpty和必需值,還必須添加一個新規則,其最后一個值設置為true.

添加到我的控制器操作中的最終更改如下所示:

$this->Proposal->Requestor->validate = Set::merge(

$this->Proposal->Requestor->validate,

array(

'phone_number' => array(

'notempty' => array(

'rule' => 'notEmpty',

'message' => 'Please enter a phone number so can can contact you with any questions about the work.',

'allowEmpty' => false,

'required' => true,

'last' => true,

),

'usphone' => array(

'allowEmpty' => false,

'required' => true,

),

)

)

);

我不記得我是否驗證過,鑒于新規則的最后一個值,對現有的usphone規則進行更改絕對是必要的,但是這種組合可以正常工作.

標簽:cakephp-1-3,cakephp,php

來源: https://codeday.me/bug/20191202/2086533.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的PHP动态验证,php-动态更改验证规则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。