我想将数据库表名称存储在一个数据库表中。按照常见的约定,在Laravel中表名是复数而模型是单数。
我只想验证用户输入是否为复数形式。
例如
child => false, children => true
baby => false, babies => true
number => false, numbers => true,
php或laravel中是否有任何库可以检查字符串的此类属性?
任何建议都值得赞赏。
答案 0 :(得分:3)
您可以为此使用字符串帮助器函数,并进行比较。因此,您可以创建自己的validation rule。但这是用法:
str_plural('child'); // = children
// or
Str::plural('child');
有关此here的更多信息。
答案 1 :(得分:1)
您可以创建一个custom rule,它仅检查给定值是否等于它的复数形式:
use Illuminate\Contracts\Validation\Rule;
class IsPluralRule implements Rule
{
public function passes($attribute, $value)
{
return $value === Str::plural($value);
}
public function message()
{
return ':attribute needs to be a plural!';
}
}