Как обрезать пробелы в начале ввода в поле ‹md-input› материала ng-2

Я использую материал ng-2 с angular 2 rc1. Я хочу запретить пользователю добавлять пробелы в поле <md-input></md-input>. Я пробовал разные методы, чтобы решить эту проблему. Наконец, я добавил директиву для этого. Вот мой код директивы

import {Directive} from '@angular/core';

    @Directive({
      selector: 'input[trimmed]',
        host: {
        '(input)': 'onChange($event)',
        '[value]' : 'value',
        '[style.width]' : 'width'
      }

    })

    export class TrimmedInput{
      value: string;
      constructor(){
        this.value='Default Title';
      }

      onChange($event){
        this.value = $event.target.value.trim();
        console.log(this.value);
      }
    }

После этого я добавил эту директиву в компонент, который хочу использовать. Вот код компонента

import { TrimmedInput } from "../../../directives/triminput";

@Component({
    selector: 'my-component',
    template: require('./test.html'),
    styles: [require('./test.css')],
    directives: [MATERIAL_DIRECTIVES, SELECT_DIRECTIVES, BUTTON_DIRECTIVES, MD_INPUT_DIRECTIVES, FORM_DIRECTIVES, TYPEAHEAD_DIRECTIVES, MdRadioButton, MdRadioGroup, TrimmedInput],
    providers: [CoursesService]
})

А вот код шаблона для использования этой директивы

<md-input trimmed placeholder="Course Title" maxLength="100" [(ngModel)]="model.title" ngControl="name" required #name="ngForm" > 
</md-input>

Он отлично работает с полем HTML <input>, но не работает с полем <md-input></md-input> материала ng-2.

На стороне Express я использую Express Validator для проверки полей ввода, подобных этому.

req.checkBody('name', '* Please provide Course Title').notEmpty();

Если есть способ сделать это на стороне экспресса, это тоже хорошо для меня.


person Tauqeer H.    schedule 15.07.2016    source источник


Ответы (1)


если вы используете экспресс-валидатор, добавьте это

   req.sanitize("name").trim();

в вашем экспресс-валидаторе.

подробнее https://github.com/ctavan/express-validator

person Azeem Malik    schedule 19.07.2016
comment
хороший ответ шохай :D - person Muhammad Omer Aslam; 28.08.2018