Different validation of data

  • Thread starter Thread starter jeeji
  • Start date Start date
J

jeeji

Hi

I have a web application that has a main page in which the user inputs
some data in some input fields.
The page contains two buttons (Button1 and Button2) that do a
postback.
When Button1 is clicked I want to call a function called Validate1(),
and when Button2 is clicked I want to call Validate2(). Those
functions validate the data input in the input fields.
If data is not valid I want to mark the input field that caused the
datavalidation error.

What is the best practice way of doing this.
My problem is that when a button is clicked, page_load() is called
first, followed by the button click event handler.
I cannot put the calls to Validate1() or Validate2() in page_load,
because I cannot see which button was clicked.
But then, page_load typically draws the page to be rendered. But in
order to render the page, I have to know which input field caused the
validation error.

I would assume this is a typical scenario, which I cannot seem to
figure out.

Thanks in advance
Jeeji
 
Hi,

place the calls to respective button click event handlers. Handler of
Button1's click calls Validate1, and Handler of Button2 calls Validate2.

The logic in Page_Load could probably be in !Page.IsPostBack check when it
wouldn't cause any issues on postback (e.g with IsPostBack check you can
place logic in Page_load which is run only on initial request but not on
portback anymore)
 
Thanks for you answer,
So you are saying that I should build my controls and mark the fields
in the button handler functions?
For some reason that does not look best practic like.
So my page:load should have a call to BuildControls() in an
if (! IsPostBack) block, and otherwise the BuildControls(errorField)
should be in the button handler functions.


Please tell me if you are sure that this is best practice. I find the
logic with ASP.Net hard to understand. Not that it is badly
structured, I just think that my mind is not set to understand it.

Thanks again
Jihad
 
Back
Top