laravel国家代码和电话号码验证

1bqhqjot  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(465)

countrycoutry代码数字索引211KSA39USA19

  1. public function rules(): array
  2. {
  3. return [
  4. '*.sender_phone_code' => ['required', 'integer', 'digits:3'],
  5. '*.sender_phone_number' => ['required', 'integer', 'digits:9']
  6. ]}

如何在验证规则laravel中验证上述电话号码和国家代码验证。

1szpjjfi

1szpjjfi1#

我用 giggsey/libphonenumber-for-php 为此:

  1. public function rules(): array
  2. {
  3. return [
  4. '*.sender_phone_code' => ['required', 'integer', 'digits:3'],
  5. '*.sender_phone_number' => ['required', 'integer', 'digits:9', function ($attribute, $value, $fail) {
  6. $phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
  7. try {
  8. $phoneNumberProto = $phoneUtil->parse($value);
  9. } catch (\libphonenumber\NumberParseException $e) {
  10. $fail('The '.$attribute.' is invalid.');
  11. }
  12. if (!$phoneUtil->isValidNumber($phoneNumberProto)) {
  13. $fail('The '.$attribute.' is invalid.');
  14. }
  15. }]
  16. ]}
展开查看全部

相关问题