我正在尝试验证一个有电话号码的表格,我们希望它正好是10位数.但即使输入正确,它也会出错.我在控制器中使用以下代码,因此请告知需要更改的内容.
public function tytraining(Request $request)
{
$this->validate($request, [
'txt_name' => 'required',
'txt_email' => 'required|email',
'txt_phone' => 'required|numeric|between:9,11'
]);
$name = Input::get('txt_name');
$email = Input::get('txt_email');
$phone = Input::get('txt_phone');
$type = "bls-training";
$url = '?' . Input::get('url');
$medicalRequest = new ParseObject("MedicalRequest");
$medicalRequest->set("name", $name);
$medicalRequest->set("email", $email);
$medicalRequest->set("phone", $phone);
$medicalRequest->set("type", $type);
$medicalRequest->set("requestMessage", "training");
$medicalRequest->set("url", $url);
try {
$medicalRequest->save();
} catch (ParseException $ex) {
echo(' Some Error Occured');
}
}
Run Code Online (Sandbox Code Playgroud)
请告知我应该如何通过Laravel进行验证.
提前感谢大家花费宝贵的时间,关心并帮助我.
小智 7
使用大小和数字验证 https://laravel.com/docs/5.3/validation#rule-digits
$this->validate($request, [
'txt_name' => 'required',
'txt_email' => 'required|email',
'txt_phone' => 'required|digits:10'
]);
Run Code Online (Sandbox Code Playgroud)
您还没有提到您的 Laravel 版本,但从至少 Laravel 4.2 开始,您有数字规则,这就是您在这里需要的,所以您的电话规则应该如下所示:
'txt_phone' => 'required|numeric|digits:10'
Run Code Online (Sandbox Code Playgroud)
对于字符串长度(精确):
public function rules()
{
return [
'input' => 'required|string|size:10'
];
Run Code Online (Sandbox Code Playgroud)
对于数字长度(精确):
public function rules()
{
return [
'input' => 'required|string|digits:10'
];
}
Run Code Online (Sandbox Code Playgroud)
对于字符串范围:
public function rules()
{
return [
'input' => 'required|string|min:5|max:10'
];
}
Run Code Online (Sandbox Code Playgroud)
对于数字范围:
public function rules()
{
return [
'input' => 'required|digits_between:5,10'
];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9107 次 |
| 最近记录: |