Abhijeet
Abhijeet

Reputation: 1545

How to set modelValue in Angular formly using custom template

I have create custom template to add todo list in angular formly. jsbin Link

I'm trying to add required validation but its not working. I have added validators to check. But viewValue, modelValue contains value in input field. Is there are any way to set modelValue in validator with actual model.

 return [
    {
      className: 'col-sm-12 col-md-12 col-lg-12',
      key: 'todoList',
      type: 'todolist',
      templateOptions: {
        type: 'text',
        label: 'Add todo list',
        placeholder: 'Enter todo list'
      },
      validators: {
        tagLength: {
          expression: function(viewValue, modelValue) {                                 
            var value = modelValue || viewValue;
            console.log(modelValue)
            console.log(viewValue)
            //return value.length > 0;
          },
          message: '"Altest 1 Operation is required"'
        }
      }

    }

What i'm exactly trying to achive is, if todolist is empty then submit button should be disabled.

Thanks in advance.

Upvotes: 1

Views: 708

Answers (1)

MattE
MattE

Reputation: 1114

This is completely unnecessary. All you have to do is set the ng-show in the submit button. No validators are needed. Just tested it on your jsbin link and it works as expected. Please mark this as the correct answer.

ng-show="vm.model.todoList.length > 0" OR
ng-show="vm.model.todoList" (since it will be false if empty/undefined)

Validators are to validate the input on THAT field, not for other fields/buttons.

Upvotes: 0

Related Questions