《PHP实例:Laravel框架表单验证详解》要点:
本文介绍了PHP实例:Laravel框架表单验证详解,希望对您有用。如果有疑问,可以联系我们。
根基验证例子PHP应用
传递给 make 函数的第一个参数是待验证的数据,第二个参数是对该数据必要应用的验证规则.PHP应用
多个验证规则可以通过 "|" 字符进行隔开,或者作为数组的一个零丁的元素.PHP应用
通过数组指定验证规矩PHP应用
一旦一个 Validator 实例被创立,可以使用 fails (或者 passes)函数执行这个验证.PHP应用
文件验证PHP应用
Validator 类提供了一些验证规则用于验证文件,好比 size、mimes等.在验证文件的时候,您可以和其他验证一样传递给验证器.PHP应用
附带差错消息PHP应用
在一个 Validator 实例上调用 messages 函数之后,将会得到一个 MessageBag 实例,该实例拥有很多处理错误消息的便利的函数.PHP应用
获取一个域的第一个差错消息PHP应用
获取一个域的全部差错消息PHP应用
获取全部域的全部差错消息
PHP应用
反省一个域是否存在消息
PHP应用
以某种格式获取所有差错消息
PHP应用
差错消息 & 视图PHP应用
一旦您执行了验证,您需要一种简单的办法向视图反馈错误消息.这在 Lavavel 中能够方便的处理.以下面的路由作为例子:PHP应用
然而,注意我们没有必要明确的在 GET 路由中绑定错误消息到路由.这是因为 Laravel 总会检查 Session 中的错误,并自动绑定它们到视图如果它们是可用的.所以,对于每个哀求,一个 $errors 变量在所有视图中总是可用的,允许您方便的认为 $errors 总是被定义并可以安全使用的.$errors 变量将是一个 MessageBag 类的实例.PHP应用
所以,在跳转之后,您可以在视图中使用自动绑定的 $errors 变量:PHP利用
下面是一个所有可用的验证规则的列表以及它们的功效:
PHP应用
acceptedPHP利用
验证此规则的值必需是 yes、 on 或者是 1.这在验证是否同意"服务条款"的时候非常有用.PHP应用
active_urlPHP利用
验证此规则的值必需是一个合法的 URL,根据 PHP 函数 checkdnsrr.PHP应用
after:datePHP利用
验证此规则的值必需在给定日期之后,日期将通过 PHP 函数 strtotime 传递.PHP应用
alpha
验证此规则的值必需全部由字母字符构成.PHP应用
alpha_dash
验证此规则的值必需全部由字母、数字、中划线或下划线字符构成.PHP应用
alpha_num
验证此规则的值必需全部由字母和数字构成.PHP应用
before:date
验证此规则的值必需在给定日期之前,日期将通过 PHP 函数 strtotime 传递.PHP应用
between:min,max
验证此规则的值必须在给定的 min 和 max 之间.字符串、数字以及文件都将使用大小规则进行比拟.PHP应用
confirmed
验证此规则的值必须和 foo_confirmation 的值相同.好比,需要验证此规则的域是 password,那么在输入中必须有一个与之相同的 password_confirmation 域.PHP应用
date
验证此规则的值必需是一个合法的日期,根据 PHP 函数 strtotime.PHP应用
date_format:format
验证此规则的值必需符合给定的 format 的格式,根据 PHP 函数 date_parse_from_format.PHP应用
different:field
验证此规则的值必需与指定的 field 域的值不同.PHP应用
email
验证此规则的值必需是一个合法的电子邮件地址.PHP应用
exists:table,column
验证此规则的值必需在指定的数据库的表中存在.PHP应用
Exists 规则的根基使用PHP应用
image
验证此规则的值必需是一个图片 (jpeg, png, bmp 或者 gif).PHP应用
in:foo,bar,...PHP利用
验证此规则的值必需在给定的列表中存在.PHP应用
integerPHP利用
验证此规则的值必需是一个整数.PHP应用
验证此规则的值必需是一个合法的 IP 地址.PHP应用
max:valuePHP利用
验证此规则的值必须小于最大值 value.字符串、数字以及文件都将使用大小规则进行比拟.PHP应用
mimes:foo,bar,...PHP利用
验证此规则的文件的 MIME 类型必需在给定的列表中.PHP应用
MIME 规则的根基使用PHP应用
min:value
验证此规则的值必须大于最小值 value.字符串、数字以及文件都将使用大小规则进行比拟.PHP应用
not_in:foo,bar,...PHP利用
验证此规则的值必需在给定的列表中不存在.PHP应用
numericPHP利用
验证此规则的值必需是一个数字.PHP应用
regex:patternPHP利用
验证此规则的值必需符合给定的正则表达式.PHP应用
注意: 当使用 regex 模式的时候,有必要使用数组指定规则,而不是管道分隔符,特别是正则表达式中包括一个管道字符的时候.PHP应用
requiredPHP利用
验证此规则的值必需在输入数据中存在.PHP应用
required_if:field,valuePHP利用
当指定的域为某个值的时候,验证此规则的值必需存在.PHP应用
required_with:foo,bar,...PHP利用
仅当指定的域存在的时候,验证此规则的值必需存在.PHP应用
required_without:foo,bar,...PHP利用
仅当指定的域不存在的时候,验证此规则的值必需存在.PHP应用
same:fieldPHP利用
验证此规则的值必需与给定域的值相同.PHP应用
size:valuePHP利用
验证此规则的值的大小必需与给定的 value 相同.对于字符串,value 代表字符的个数;对于数字,value 代表它的整数值,对于文件,value 代表文件以KB为单位的大小.PHP应用
unique:table,column,except,idColumnPHP利用
验证此规则的值必需在给定的数据库的表中唯一.如果 column 没有被指定,将使用该域的名字.PHP应用
Unique 规则的根基使用
PHP应用
urlPHP应用
验证此规则的值必需是一个合法的 URL.PHP应用
定制差错消息PHP应用
如果有需要,您可以使用定制的错误消息代替默认的消息.这里有好几种定制错误消息的办法.PHP应用
传递定制消息到验证器PHP利用
注意: :attribute 占位符将被实际的进行验证的域的名字代替,您也可以在差错消息中使用其他占位符.PHP应用
其他验证占位符PHP利用
对一个指定的域指定定制的差错消息PHP应用
在语言文件中指定差错消息PHP应用
定制验证规矩PHP应用
Laravel 提供了一系列的有用的验证规则;但是,您可能希望添加自己的验证规则.其中一种办法是使用 Validator::extend 函数注册定制的验证规则:PHP应用
注册一个定制的验证规矩
PHP应用
注意: 传递给 extend 函数的规则的名字必需符合 "snake cased" 命名规则.PHP应用
定制的验证器接受三个参数:待验证属性的名字、待验证属性的值以及传递给这个规矩的参数.PHP应用
您也可以传递一个类的函数到 extend 函数,而不是使用闭包:
PHP利用
您也可以扩展 Validator 类自己,而不是使用闭包回调扩展验证器.为了实现这个目的,添加一个继承自 Illuminate\Validation\Validator 的验证器类.您可以添加在类中添加以 validate 开头的验证函数:PHP应用
扩大验证器类
PHP应用
下面,您必要注册定制的验证器扩展:PHP应用
您必要注册定制的验证器扩展PHP应用
当创建一个定制的验证规则,您有时必要为错误消息定义一个定制的占位符.为了实现它,您可以像上面那样创建一个定制的验证器,并且在验证器中添加一个 replaceXXX 函数:
PHP应用
维易PHP培训学院每天发布《PHP实例:Laravel框架表单验证详解》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。