14 messaggi dal 02 giugno 2011
Salve,
ho un progetto Ria Service in cui ho una form mappata con il datacontext di un'entità. Sto cercando di fare la validazione quindi ho aggiunto al campo nome questi attributi:

<Required(ErrorMessage:="Title is required.")> _
<StringLength(5, MinimumLength:=1)> _
Public Property Nome As String


e ho bindato il campo text lato client in questo modo:

Text="{Binding Nome, Mode=TwoWay, NotifyOnValidationError=true,ValidatesOnExceptions=true,UpdateSourceTrigger=Explicit}" , ToolTipService.ToolTip="{Binding ValidationErrors[0].ErrorMessage}"

Però quando inserisco un campo vuoto o un numero sbagliato di caratteri, mi viene generata un'eccezione che non viene catturata ma mi blocca il programma. Dove sbaglio?

Grazie
in che senso ti si blocca il programma? rimane in loop ? scatena un eccezione?

MCTS: Silverlight 4, Development
14 messaggi dal 02 giugno 2011
Grazie mille per la risposta .
Nel senso che ho fatto una form che mi rileva gli errori di compilazione dei campi. La cosa che non riesco a fare è bloccare il salvataggio, quindi viene sollevata l'eccezione di dati errati e si blocca il programma.
Per esempio ho il campo Nome che è required, se l'utente non lo compila dopo avergli dato il focus si sottolinea di rosso, però se preme invio il salvataggio avviene lo stesso, ma logicamente non termina perchè viene sollevata un eccezione che non riesco in nessun caso a raccogliere o ad impedire a meno di mettere il classico controllo sulla textbox vuota. Molto probabilmente è un problema scemo, ma la mia esperienza con silverlight è appena iniziata ...
Modificato da jumper85 il 16 settembre 2011 09.05 -
Potresti allegare il progetto sl e i servizi?

MCTS: Silverlight 4, Development
14 messaggi dal 02 giugno 2011
Alla fine ho trovato il mio errore ( per altro abbastanza stupido :D ). Non mettevo un controllo dopo aver sollevato l'eccezione.

txtNomeUtente.GetBindingExpression(TextBox.TextProperty).UpdateSource()

Anche se mi sottolineava la textbox in quanto scorretta, il codice poi andava avanti e faceva l'aggiornamento del campo lo stesso e quindi mi generava l'eccezione per inserimento non valido. Dovevo semplicemente mettere un controllo di questo tipo prima della submitchanges:

If Validation.GetHasError(txtNomeUtente) Then

Spero sia utile a qualcuno.
Grazie per l'aiuto.
Modificato da jumper85 il 07 ottobre 2011 10.13 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.