角度2のフォームで空白/空白を避けたいですか? 可能ですか? これはどのように行うことができますか?空白/空白を検証する方法は? [角度2]
答えて
たぶんこの記事はあなたにこのアプローチではhttp://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/
を助けることができる、あなたは価値の変化を監視し、その値にあなたのマスクを適用し、その後FormControlを使用する必要があります。例は次のようになります。
...
form: FormGroup;
...
ngOnInit(){
this.form.valueChanges
.map((value) => {
// Here you can manipulate your value
value.firstName = value.firstName.trim();
return value;
})
.filter((value) => this.form.valid)
.subscribe((value) => {
console.log("Model Driven Form valid value: vm = ",JSON.stringify(value));
});
}
フォームのサブミットを避けるには、入力フィールドにrequired
attrを使用してください。
<input type="text" required>
または、フォームがsubmitedされると後
を提出し、あなたは空白を削除する)(str.trimを使用することができ、文字列の開始と終了を形成します。私はあなたを表示する機能を提出しました:
submitFunction(formData){
if(!formData.foo){
// launch an alert to say the user the field cannot be empty
return false;
}
else
{
formData.foo = formData.foo.trim(); // removes white
// do your logic here
return true;
}
}
あなたがこれを処理するためのカスタムバリデータを作成することができます。コンポーネント
public noWhitespaceValidator(control: FormControl) {
let isWhitespace = (control.value || '').trim().length === 0;
let isValid = !isWhitespace;
return isValid ? null : { 'whitespace': true }
}
へとHTML
<div *ngIf="yourForm.hasError('whitespace')">Please enter valid data</div>
私はこのアプローチを好むと思うのは、そのルールを再利用可能にするからです。鉱山の反応であっても正しいものとしてマークされています。 – vinagreti
他のコンポーネントで再利用できるようにするには: 'public'を 'export function'に置き換えてファイル(src/app/utils/no-whitespace.validator.rsなど)に入れ、FormControlをインポートする行を追加します。このバリデーターを好きなコントロールにインポートすることができます:) – rmcsharry
@rmcsharryあなたは絶対に正しいです。それでコードを記述して維持する必要があります。 –
で
new FormControl(field.fieldValue || '', [Validators.required, this.noWhitespaceValidator])
追加noWhitespaceValidator方法私は私が追加以外はminLengthのための角度としてsamethingをしたバリデータを作成されたましたtrim()
import { Injectable } from '@angular/core';
import { AbstractControl, ValidatorFn, Validators } from '@angular/forms';
@Injectable()
export class ValidatorHelper {
///This is the guts of Angulars minLength, added a trim for the validation
static minLength(minLength: number): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } => {
if (ValidatorHelper.isPresent(Validators.required(control))) {
return null;
}
const v: string = control.value ? control.value : '';
return v.trim().length < minLength ?
{ 'minlength': { 'requiredLength': minLength, 'actualLength': v.trim().length } } :
null;
};
}
static isPresent(obj: any): boolean {
return obj !== undefined && obj !== null;
}
}
私はその後、私のapp.component.tsで今すぐ至る所の角度はminLengthが、それはあなたがヘルパーに作成されていることはminLengthを使用するバリデータに建てられた角度
import { Component, OnInit } from '@angular/core';
import { ValidatorHelper } from 'app/common/components/validators/validator-helper';
import { Validators } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent implements OnInit {
constructor() { }
ngOnInit(): void {
Validators.minLength = ValidatorHelper.minLength;
}
}
によって提供さはminLength機能をオーバーライド。
Validators.compose([
Validators.minLength(2)
]);
- 1. 空白文字の検証ですか?角度4
- 2. 角度uiグリッドカラムドロップダウンフィルタ空白オプション
- 3. 角度の空白がローカルホスト
- 4. javaxの検証サイズトリム空白
- 5. APEX 3.2空白と空白のテキスト検証
- 6. 空白のフィールドで@パターン検証をスキップする方法は?
- 7. jqueryの空白を検証する方法
- 8. XML非空白の空白
- 9. 空白のフィールドで@Patternの検証
- 10. 空白をトリムする空白
- 11. 角度2のアプリが動作しない - 空白のページ
- 12. 角度2 - カルマ/ジャスミン末尾空白警告
- 13. REG EXPが空白または空白
- 14. Excel VBA - 空白セルと空白セルを空白セルまで見つける方法
- 15. 移行が機能しない(空白:空白→空白:正常)
- 16. 「^ I」を空白の白として表示する方法は?
- 17. 正規Expression-検索空白と非空白文字列
- 18. 空白
- 19. レンダリング時にHTMLコンテンツが空白/空白であるかどうかを検出する方法は?
- 20. 空白の空白を返します。<br />ブートストラップと角度を使用する場合のタグ
- 21. は非空白
- 22. ui.bootstrapで角度を付けて空白ページをレンダリングする
- 23. 用語が空白の場合はリアルタイム検索を無効にする - 角2
- 24. フィールドが空白/空白の場合にフィールドタイトルを非表示にする方法
- 25. テキスト検索空白エスケープ
- 26. Magento 2の画像の空白を削除する方法2
- 27. 空白の空白のスタイルの続行 "..."
- 28. フッターの下の空白の空白を削除するには?
- 29. 空白
- 30. 空白
2方向データバインディングとしてフィールドをトリミングするだけで済みます。あなたもカスタムパイプを考えることができます – afmeva
多分この記事はあなたを助けることができますhttp://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/ – vinagreti