我有一个名称字段如下的表格
<label class="control-label" for="name">Your Name *</label>
<div class="controls">
<input type="text" class="input-xlarge" name="name" id="name" maxlength="10">
</div>
在提交表单时,我正在尝试验证(服务器端)我的控制器中的字段,如下所示:
function save(){
$name = JRequest::getVar('name', 'POST');
$session =& JFactory::getSession();
if(!$name || strlen($name = trim($name)) == 0){
$session->set('errorname', 'Please enter your name!');
$error= true;
}
$session->set('valuename', $name);
if(!$error){
$model = & $this->getModel('jobs');
$model->saveJob(JRequest::get('POST'));
$redirectTo = JRoute::_('index.php?option='.JRequest::getVar('option').'&task=display');
$this->setRedirect(str_replace("&", "&",$redirectTo), 'Saved');
}
else {
$redirectTo = JRoute::_('index.php?option='.JRequest::getVar('option').'&Itemid='.JRequest::getVar('Itemid'));
$this->setRedirect(str_replace("&", "&",$redirectTo), "The form is not complete!" );
}
}
然后再次在我的表单页面顶部,我尝试获取会话对象错误名称的值,如下所示:
$session =& JFactory::getSession();
$session->get('errorname');
我这样做只是为了测试目的;所以,当我提交表单而不填写字段时,会话对象应该返回一个错误(一条消息请输入您的姓名!)。但我想知道为什么什么都没有返回。
我不确定我是否遗漏了什么,请给我建议!