Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有字段“的codeigniter验证错误”;“必需”;_Php_Codeigniter_Validation_Field_Required - Fatal编程技术网

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”)仅用于表单验证是什么意思?