我是Laravel的初学者。我有一个带有验证的表格,但是该表格可以另存为草稿。在这种情况下,我需要一种忽略所有验证规则的方法。有人可以帮助我吗?
ValidacaoProcesso类扩展了FormRequest {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize() {
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules() {
return [
'NUP' => 'required:T_PROCESSO',
'dt_recebimento' => 'required',
'hora_recebimento' => 'required',
'CPF' => 'required',
'nome' => 'required',
'sentenca_judicial' => 'required',
'tipo_pessoa' => 'required',
'prioridade' => 'required',
];
}
}
答案 0 :(得分:0)
如果要忽略验证,只需注释掉rules数组或在rules()
方法中返回空数组。更好的方法可能是根本不使用ValidacaoProcesso
。只需将其替换为使用中的简单Request
对象
答案 1 :(得分:0)
以下是我对您的问题的理解:
如果未将表单另存为草稿,则希望进行验证;但是,如果将表单另存为草稿,则不希望进行验证。
这是我建议您执行的操作:
首先,您需要在提交表单时从前端发送某种标志,以表明是否应将保存的表单视为草稿。让我们说标志是“草稿”。现在基于该标志,可以添加或删除验证,例如:
$draft = $request->input('draft');
if (!$draft) {
//apply validation rules
}
但是有时有时无法使用“草稿”标志,在这种情况下,您可以使用验证器,如果验证器失败,则将表单另存为草稿,因为其中一个验证出错了,而不是返回错误,像这样:
$validationArray = [
'NUP' => 'required:T_PROCESSO',
'dt_recebimento' => 'required',
'hora_recebimento' => 'required',
'CPF' => 'required',
'nome' => 'required',
'sentenca_judicial' => 'required',
'tipo_pessoa' => 'required',
'prioridade' => 'required',
];
$draft = false;
$validator = Validator::make($request->all(), $validationArray);
if ($validator->fails()) {
$draft = true;
}
//if $draft is true then proceed with form as draft
我希望这会有所帮助,
答案 2 :(得分:0)
感谢您的帮助。我不知道我可以在Class中使用输入请求。我解决了这样的事情:
public function rules() {
if ($this->draft == "Y") {
return [];
}
return [
'NUP' => 'required:T_PROCESSO',
'dt_recebimento' => 'required',
'hora_recebimento' => 'required',
'CPF' => 'required',
'nome' => 'required',
'sentenca_judicial' => 'required',
'tipo_pessoa' => 'required',
'prioridade' => 'required',
];
}