0
アプリメーカーには、デフォルトの検証と正規表現の検証があり、エラーが発生するとそのフィールドを強調表示します。Google Appメーカーの検証
モデルの重複レコードをチェックするためにカスタム検証を行う必要があります。検証を確認する関数があるか、スクリプトを実行する必要がありますか?
アプリメーカーには、デフォルトの検証と正規表現の検証があり、エラーが発生するとそのフィールドを強調表示します。Google Appメーカーの検証
モデルの重複レコードをチェックするためにカスタム検証を行う必要があります。検証を確認する関数があるか、スクリプトを実行する必要がありますか?
データの重複を避ける最良の方法は、Cloud SQLを使用してテーブルに「一意」制約を適用することです。あなたはクラウドSQLを使用して、ロック、クエリとモデルイベントを使用して手動でユニーク制約をエミュレートすることができドライブのテーブルに行きたいしたくない場合は
:
// onCreate model event (actually it is onBeforeCreate)
// this events accepts about-to-create record as parameter
var lock = LockService.getScriptLock();
lock.waitLock(5000);
var query = app.models.MyModel.newQuery();
query.filters.SomeField._equals = record.SomeField;
var records = query.run();
if (records.length > 0) {
throw new Error('Record with SomeField value equal to ' + record.SomeField +
' already exists.');
}
lock.releaseLock();
あなたがここにlock
が必要独自の制約に違反するレコードを他のスレッドが同時に作成しないようにします。
次にあなたがcreateItem
関数コールバックでUI上のエラーを処理することができます動作しますが、しかし、私はフィールドの下のフロントエンドでユーザーにこのメッセージを表示したい
// create button onClick handler
widget.datasource.createItem({
success: function(record) {
// TODO
},
failure: function(error) {
// TODO
}
});
感謝。 –
私は答えにクライアント側の部分を追加しました。 –
ボタンのonClickハンドラ を作成// widget.datasource.createItem({ 成功:関数(レコード){// TODO }、 障害:機能(エラー){// TODO }})。これはあなたが言及しているコードブロックですか?私は必要なエラーメッセージのようなコントロールの下にエラーメッセージを表示したい。 –