如何在laravel中将输入字段值验证为复数词?

时间:2019-05-09 13:23:08

标签: php string laravel

我想将数据库表名称存储在一个数据库表中。按照常见的约定,在Laravel中表名是复数而模型是单数。

我只想验证用户输入是否为复数形式。

例如

child => false, children => true
baby => false, babies => true
number => false, numbers => true,

php或laravel中是否有任何库可以检查字符串的此类属性?

任何建议都值得赞赏。

2 个答案:

答案 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!';
    }
}