検証エラーの場合にバリューコンバータの更新を停止する方法はありますか?検証エラーの場合にAureliaバリューコンバータの更新を停止する
export class JsonValueConverter {
toView(value) {
return JSON.stringify(value);
}
fromView(value) {
try {
return JSON.parse(value);
} catch (e) {}
}
}
<textarea value.bind="obj | json"></textarea>
テキストエリアに入力された無効なJSON値がobj = undefined
が発生します。たとえば、この単純なコンバータを検討してください。私は最後の有効な値を保持したいと思います。
あなたができることの1つは、入力が完了するまで値の適用を遅らせることです。 'value.bind =" obj | json&updateTrigger: 'blur' "'を使用してください。あなたの主な問題についてはまだ考えています。 – LStarky
私は、変換されていない値を返すだけで、それが改善されることを願っています。あなたの 'catch()'では 'return value;'を使います。私は、ValueConverterは状態を持たないので、あなたが達成したいことだけに責任があるとは考えていません。実際に入力値をコミットする前に、フォーム入力で検証を使用したいので、主にValueConverterがユーザー入力を妨げないようにしたいと思うでしょう。 – LStarky
私は@LStarkyに同意します。 ValueConverterは、あなたがしたいことに対して作られていません –