Как проверить флажок, selectbox и radiobutton в ember-cp-validations

Я использую ember-cp-validation в приложении ember js для проверки. Я хочу проверить checkbox, selectbox а также radiobutton.Не могу найти пример кода для проверки этих элементов управления.

Кто-нибудь может дать какие-либо идеи / образец о том, как проверить checkbox, selectbox а также radiobutton используя плагин ember-cp-validation.

2 ответа

Я также был удивлен, не увидев пример флажка как часть ember-cp-validations документация Вот что я закончил (работает на 3.x):

{{validated-input type='checkbox' label='I agree to the terms of use'
                  model=model valuePath='acceptTerms' didValidate=didValidate}}

Для этого ваш начальный validated-input Компоненту потребуется несколько настроек:

  1. В template.hbs, замените 2-ю строку:

    {{input type=type value=value placeholder=placeholder 
            class='form-control' name=valuePath}}
    

    от:

    {{#if isCheckbox}}
      <label>
        {{input type=type checked=value class="form-control"
                name=valuePath id=(concat elementId '-name')}}
        {{label}}
      </label>
    {{else}}
      {{input type=type value=value placeholder=placeholder
              class='form-control' name=valuePath}}
    {{/if}}
    
  2. В component.js, Добавь это:

    isCheckbox: Ember.computed('type', function() {
        return this.get('type') == "checkbox";
    })
    

Проверьте флажок, как это:

const Validations = buildValidations({
  acceptedTerms: validator("inclusion", {
    allowBlank: false,
    in: [true],
  }),
})

ember-cp-validations проверяет значение переменных (будь то модель, контроллер и т. д.). Пока флажок привязан к переменной с тем же именем, которое указано в валидаторе, он должен работать независимо от типа виджета. (независимо от того, связано ли значение с помощью двусторонней привязки или изменено при запуске действия)

Смотрите здесь: http://offirgolan.github.io/ember-cp-validations/docs/modules/Basic.html

Итак, пример псевдокода... Сначала определите валидации в вашем контроллере...

const Validations = buildValidations({
  bar: validator('presence', true)
});

export default Ember.Component.extend(Validations, {
    bar: null
})

И в своем шаблоне свяжите значение флажка со значением:

{{input type=checkbox value=bar}}
Другие вопросы по тегам