0

数字のみを受け入れるフィールドを持つ appian フォームがあります。送信ボタンとキャンセルボタンがあります。

ただし、検証に失敗したときにボタンを元の値に戻すことはできません。

送信ボタンをクリックすると、値が数値でない場合、エラー メッセージが表示され、元の値が復元されます。キャンセルボタンをクリックすると元の値に戻ります。

これは私がそのフィールドで使用している検証です:

validation: if(typeof(local!myLocalObject.numField1)<>1,
  "This field must have a numeric value",
  null
)

キャンセルボタンには次のコードが含まれています。

saveInto: {
  ...
  a!save(local!myLocalObject.numField1, ri!retrievedFromDB.numField1),
  ...
}

保存ボタンには次のコードが含まれています。

saveInto: {
  ...
  if(typeof(local!myLocalObject.numField1)<>1,
    a!save(local!myLocalObject.numField1, ri!retrievedFromDB.numField1),
    null
  )
  ...
}

これが起こることです:

数値のフィールドがあり、編集可能にします:

数値のフィールドがあります

値をテキストに変更して送信をクリックすると、

ここに画像の説明を入力

元の値を復元し、エラーを表示する必要があります。

ここに画像の説明を入力

しかし、何が起こるかというと、フィールドが空白になり、値がまったくなく、エラー メッセージも表示されません。その後、DB にnullとして保存できますが、これは間違いです。 ここに画像の説明を入力

(注、これは、そのフィールドをクリックしたときにも発生します)

フィールド タイプはtextFieldで、そのsaveintoは両方ともlocal!myLocalObject.numField1に設定されています。

代わりにintegerFieldを使用しようとしましたが、保存をキャンセルすると、元の値を復元できません。

ここに画像の説明を入力

エラーメッセージと間違った値を消すには、ページをリロードする必要があります。

4

1 に答える 1