如何 trim ng-2 material <md-input> 字段中输入开头的空格
How to trim white spaces at beginning of input in ng-2 material <md-input> field
我正在使用 ng-2 material 和 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>
字段上工作正常,但它不适用于 ng-2 material <md-input></md-input>
字段
在 Express 方面,我使用 Express Validator 来验证这样的输入字段
req.checkBody('name', '* Please provide Course Title').notEmpty();
如果有什么方法可以在快递方面做到这一点,那对我也有好处
如果您使用的是快速验证器,请添加此
req.sanitize("name").trim();
在您的快速验证器中。
我正在使用 ng-2 material 和 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>
字段上工作正常,但它不适用于 ng-2 material <md-input></md-input>
字段
在 Express 方面,我使用 Express Validator 来验证这样的输入字段
req.checkBody('name', '* Please provide Course Title').notEmpty();
如果有什么方法可以在快递方面做到这一点,那对我也有好处
如果您使用的是快速验证器,请添加此
req.sanitize("name").trim();
在您的快速验证器中。