2017-02-01 6 views
0

残念ながら、送信ボタンをクリックしても私の検証は機能しません。私が「送信ボタン」をクリックすると、「何か」が以下のb = nullのエラーとして表示されます。人が送信ボタンを押した後、登録ページをどのように検証するでしょうか。または、送信ボタンの後にどのように検証を行いますか?PLSQL関数はどのようにテキスト検証作業を返しますか?

DECLARE 
    error_message varchar2(4000); 
    b varchar2(500); 
    FUNCTION validate_field RETURN VARCHAR2 
    AS 
     BEGIN 
    b := :P101_REG_FIRST_NAME; 
      IF (REGEXP_LIKE(b, '[A-Za-z]') AND :P101_NEW <> NULL AND NOT(REGEXP_LIKE(b, '[:space:]'))) THEN 
       RETURN 'works' || b; 

      ELSIF b IS NULL THEN 
       RETURN b || 'what'; 

      ELSIF REGEXP_COUNT(b, '[A-Za-z]') = 1 THEN 
       RETURN 'Name cannot be single letter'; 

       ELSE RETURN 'HUH' || ' ' || b; 
      END IF; 
     END; 


     BEGIN 
      error_message := ''; 
      error_message := validate_field; 

      IF error_message IS NULL THEN 
       RETURN NULL; 
      ELSE 
       RETURN error_message; 
      END IF; 
     COMMIT; 
     END; 

答えて

0

私はそれを解決しました。私は午前中に回答を投稿しますが、それは遅れており、私はこの問題を長らく解決しています。私は良い気分だ。このすべてを読んでいただきありがとうございます。

+0

**午前中は何も投稿する必要はありません**ほとんどの人は、 '' anything '<> NULL'のような比較は** never ** trueです(これは非常に基本的なSQLのものです)。スタックオーバーフローについてはおそらく何百もの同様の質問を参照することはできません。あなた自身の答えに満足しているなら、あなたがするべき最良のことは、**あなたの質問を完全に削除することです**。サイトをきれいに保ちましょう! – mathguy

関連する問題