Пребывать и Ларавелла

У меня есть форма:

{{ Form::open(array('route' => 'process', 'method'=>'POST','data-abide' => '')) }}
        <fieldset>
            <div class="name-field">
                {{ Form::label('name', 'Name') }}
                {{ Form::text('name', null, array('required' => '', 'pattern' => 'alpha')) }}
                <small class="error">A valid name is required.</small>
            </div>

            <div class="password-field">
                {{ Form::label('password', 'Password') }}
                {{ Form::password('password', null, array('id' => 'password', 'required' => '')) }}
                <small class="error">Bad password.</small>
            </div>
            <div class="password-confirm-field">
                {{ Form::label('password-confirm', 'Confirm Password') }}
                {{ Form::password('confirm-password', null, array('required' => '', 'data-equalto' => 'password')) }}
                <small class="error">The password did not match.</small>
            </div>
        </fieldset>

        {{ Form::close() }}

Моя ошибка поля имени работает, когда ввод не соответствует шаблону, появляется ошибка.

У меня проблемы с полем пароля:

  1. Проверка того, что поле подтверждения пароля совпадает с полем пароля, не работает. Это потому, что это никогда не передается на страницу:

    'data-equalto' => 'password'
    

    Я предполагаю, что это проблема с laravel, так как, когда я вручную добавляю его с помощью инструментов разработчика, проверка работает. Как я могу это исправить, чтобы этот параметр передавался на страницу?

  2. Я оставляю поле моего пароля пустым, и ошибка не отображается, хотя я автоматически установил в качестве пароля поле, означающее, что оно должно соответствовать определенным правилам, поэтому должна отображаться ошибка - почему она не отображается?

1 ответ

Решение

Вы используете неправильный синтаксис для метода пароля. Согласно коду подпись метода:

/**
* Create a password input field.
*
* @param string $name
* @param array $options
* @return string
*/
public function password($name, $options = array())
...

У него только два параметра, но вы передаете три, поэтому третьи параметры игнорируются.

Вы должны использовать вместо

{{ Form::password('password', array('id' => 'password', 'required' => '')) }}

Обратите внимание, что единственное изменение - второй параметр пропал.

Другие вопросы по тегам