Php 带有字段“的codeigniter验证错误”;“必需”;
我对确认表有问题。如果我输入“必需”,则它不起作用,例如: 控制器:Php 带有字段“的codeigniter验证错误”;“必需”;,php,codeigniter,validation,field,required,Php,Codeigniter,Validation,Field,Required,我对确认表有问题。如果我输入“必需”,则它不起作用,例如: 控制器: public function updateBenefit(){ $result = array(); $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->form_validation->set_rules('beneficio
public function updateBenefit(){
$result = array();
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('beneficio', 'Nombre del Beneficio', 'required|alpha');
$this->form_validation->set_rules('info', 'Info', 'alpha');
$this->form_validation->set_rules('descrip', 'Descripción', 'alpha');
$this->form_validation->set_rules('orden', 'Orden', 'integer');
// $this->form_validation->set_rules('fecha', 'Fecha', 'date_valid');
$this->form_validation->set_message('required', 'El campo %s es requerido');
if ($this->form_validation->run() == TRUE){
if (isset($_POST['id'])){
$idb = $_POST['id'];
$benefit = BeneficiosManager::getInstance()->getHome($idb);
$result['message'] = "Se ha modificado el Beneficio con éxito";
} else{
$benefit = BeneficiosManager::getInstance()->create();
$result['message'] = "Se ha cargado el Beneficio con éxito";
}
$benefit->nombre = ucfirst(strtolower($_POST['beneficio']));
$benefit->content = ucfirst(strtolower($_POST['descrip']));
$benefit->intro = ucfirst(strtolower($_POST['info']));
$benefit->active = $_POST['optionsRadios2'];
$benefit->orden = $_POST['orden'];
// $benefit->date = $_POST['fecha'];
BeneficiosManager::getInstance()->save($benefit);
}else{
//no se validaron los datos ingresados
$result['message'] = "Error validación";
}
echo json_encode($result);
}
视图:
{extends file='admin/base/base.tpl'}
{block name='content'}
卡加福利酒店
有益的
名义受益
信息
信息中心
描述
描述福利
活跃的
硅
不
破产受益人
奥登
福利优先
德国福查
瓜达尔
取消者
{/block}
问题可能是什么
如果我删除“必需”字段,表单将验证。。。但如果我把它放进去,它不会。。。我不知道还能尝试什么,不明白为什么会发生这种情况
多亏@Jonathan纠正了我的错误,代码现在可以运行了,我在尝试这种方法时也犯了一个输入错误。我试图把两个词放在同一个领域(即:bon vivir);所以正确的输入应该是:bonvivir。我不确定您是否使用“title”作为真实title输入元素的名称。因为我发现你用这个代码来分配你的头衔
$benefit->title = ucfirst(strtolower(trim($_POST['beneficio'])));
因此,您可能想尝试使用
$this->form_validation->set_rules('beneficio', 'Nombre del Beneficio', 'required|alpha');
相反
我不确定我的猜测是否正确。试试看。希望这有帮助。我不确定您是否使用“title”作为真实title输入元素的名称。因为我发现你用这个代码来分配你的头衔
$benefit->title = ucfirst(strtolower(trim($_POST['beneficio'])));
因此,您可能想尝试使用
$this->form_validation->set_rules('beneficio', 'Nombre del Beneficio', 'required|alpha');
相反
我不确定我的猜测是否正确。试试看。希望这有帮助。您是否有一个名为“title”的字段?
它不起作用
不是一个有用的错误描述。到底是什么不起作用?你有错误吗?预期的结果是什么?一个可能的问题是缺少一些必需的代码。请完整阅读手册条目:@user1281385是的,我有一个名为“title”的字段@AmalMurali当我使用“required”字段时,我的表单没有验证,我得到一个验证错误。如果删除“必填”字段,表单将进行验证,但我确实需要使用必填字段您是否有一个名为“title”的字段?它不起作用
不是一个有用的错误描述。到底是什么不起作用?你有错误吗?预期的结果是什么?一个可能的问题是缺少一些必需的代码。请完整阅读手册条目:@user1281385是的,我有一个名为“title”的字段@AmalMurali当我使用“required”字段时,我的表单没有验证,我得到一个验证错误。如果我删除“required”字段,表单将进行验证,但我真的需要使用required fieldIKR吗?如果您不使用“title”,为什么需要“title”?乔纳森我已将“title”字段更改为“nombre”,但它仍然不起作用,相同的验证错误仍然存在displayed@jcorry标题是必需的,因为您无法上载没有名称的福利。这是一个关于人员和奖品的网站,奖品是福利,因此我们需要将它们与姓名一起保存。@Jimena除了确认它在那里之外,您的控制器似乎没有对$\u POST元素“title”做任何事情……您使用$\u POST[“title”]的唯一地方是表单验证…@jcorry我已将“title”改为“nombre”,但我不明白你的意思,你说我使用“title”(或“nombre”)只是为了表单验证是什么意思?IKR?如果您不使用“title”,为什么需要“title”?乔纳森我已将“title”字段更改为“nombre”,但它仍然不起作用,相同的验证错误仍然存在displayed@jcorry标题是必需的,因为您无法上载没有名称的福利。这是一个关于人员和奖品的网站,奖品是福利,因此我们需要将它们与姓名一起保存。@Jimena除了确认它在那里之外,您的控制器似乎没有对$\u POST元素“title”做任何事情……您使用$\u POST[“title”]的唯一地方是表单验证…@jcorry我已将“title”改为“nombre”,但我不明白你的意思,你说我使用“title”(或“nombre”)仅用于表单验证是什么意思?