2012-03-02 88 views
0

這是動作URL驗證部分蛋糕PHP不工作

http://localhost/carsdirectory/users/create_ad 

create_ad.ctp(在這個文件中,我有選擇領域,在這一領域的IM取出由STATE_NAME字段的表名狀態數據)

<label class="ls-details-label">State</label> 
<div class="ls-details-box"> 
<?php 
foreach ($states as $state) 
{ 
    $state_new[$state['State']['id']]=$state['State']['state_name']; 
} 
    echo $this->Form->input('Location.state_id',array('label'=>false,'options'=>$state_new,'empty'=>' Select ','class'=>'styledselect_form_1')); 
?> 
</div> 

state.php(模型)

<?php 
class State extends AppModel 
    { 
var $name = 'State'; 


      var $validate = array(
      'state_name' => array(
      'rule' => 'notEmpty', 
      'message' => 'Please select a state') 

      );     
    } 
    ?> 

users_controller.php中(控制器)

public function create_ad() 
{ 

$this->loadModel('Location'); 
if($this->Location->saveAll($this->data['Location'])) 
{ 
    $this->data['Car']['location_id'] = $this->Location->id; 
} 
else 
    { 
$this->Session->setFlash('Detail could not be saved in Cars Controller'); 
    } 
} 

,但驗證不工作這條消息沒有顯示,請選擇一個狀態,空是插入,如果我不是選擇值

IM無法理清這個問題,所以plz幫助我

在此先感謝,vikas tyagi

+0

你必須在'用戶'模型中寫入驗證碼! – Rikesh 2012-03-02 11:52:15

+0

好的謝謝回覆我試試 – 2012-03-02 11:54:21

+0

Rikesh Shah,我應該驗證用戶模型中的代碼 – 2012-03-02 11:56:40

回答

1

它看起來像你試圖驗證State.state_name字段,但您的表單的輸入是Location.state_id。確保它們匹配,然後重試。

+0

謝謝戴夫,這對我很有用。 – 2012-03-03 07:10:18