Проверка URL-адреса Grails

#grails #grails-validation

#grails #grails-проверка

Вопрос:

Почему Grails видят URL-адреса без http:// (например www.google.com ) как недействительный? Только http://google.com и http://www.google.com все в порядке. Есть ли какой-нибудь способ это исправить?

Ответ №1:

Если вы прочитали RFC 1738 (Uniform Resource Locators), становится ясно, что схема URL (в вашем случае http://) является полной частью URL-адресов. Схема определяет значение остальной части URL-адреса и, следовательно, не может быть опущена. Например http://www.google.com это определенно не тот же источник, что и https://www.google.com , и вы должны знать об этом, когда сохраняете ссылку.

Таким образом, подобные URL-адреса www.google.com недопустимы, и Grails прав, когда отклоняет их.

Исправить это должно быть легко, если вы знаете, что ожидаете HTTP-URL:

 new Object(url: 'http://'   url).save()
  

должно сработать.

Комментарии:

1. Спасибо. Я использую проверки только с объектами Command, а не для классов домена.