2012-03-02 3 views
0

это URL действиявалидация часть не работает в торт PHP

http://localhost/carsdirectory/users/create_ad 

create_ad.ctp (в этом файле у меня есть поле выбора, в этой области им не удалось получить данные из 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'); 
    } 
} 

но проверка не работает в этом сообщ не отображается Пожалуйста, выберите состояние и нуль, это вставить, если им не следует выбрать значение

им не в состоянии разобраться с этой проблемой, так плз помочь мне

спасибо заранее, vikas tyagi

+0

Вы должны написать подтверждающий код в 'user' model !! – Rikesh

+0

ok Спасибо за ответ, я попробую –

+0

Rikesh Shah, должен ли я проверять код в пользовательской модели –

ответ

1

Похоже, вы пытаетесь проверить поле State.state_name, но вводимая вами форма Location.state_id. Убедитесь, что они совпадают, и повторите попытку.

+0

Спасибо Дэйв, это сработало для меня. –