WPF validace   otázka

C#, WPF

Mam TextBox nabindovaný na DataTable, na TextBoxu mam vlastní validaci. Když text edituji validace bez problémů funguje. Problém mam, že po načtení se validace na načtená data neprovede. Netušíte někdo jak to vyřešit?

        <TextBox HorizontalAlignment="Left" Height="23" Margin="10,94,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Validation.Error="Validation_Error">
            <TextBox.Text>
                <Binding Path="[hodnota]" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" NotifyOnValidationError="True">
                    <Binding.ValidationRules>
                        <local:StringToIntValidationRule ValidationStep="RawProposedValue"/>
                    </Binding.ValidationRules>
                </Binding>
            </TextBox.Text>
        </TextBox>

        public aaa()
        {
            InitializeComponent();

            DataTable dt = _App.dataTable("select * from uzivatele where id = 1");
            grdTesting.DataContext = dt.Rows[0];
        }

    public class StringToIntValidationRule : ValidationRule
    {
        public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
        {
            int i;
            if (int.TryParse(value.ToString(), out i))
                return new ValidationResult(true, null);

            return new ValidationResult(false, "Please enter a valid integer value.");
        }
    }

Předem děkuji za jakoukoli radu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Po načtení přece není co validovat...

Jestliže po načtení máte v tom textboxu nějaká data, tak jste je musel odněkud vytáhnout a před tím i někam uložit, takže se to muselo validovat při prvním uložení. Co byste chtěl po načtení dat z databáze ještě validovat?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Obdobně jako zmíněný validátor na int mam i na neprázdný text.

Aplikace do DB vygeneruje záznam, ale s některými nevyplněnými hodnotami, které uživatel musí vyplnit v daném formuláři.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Samozřejmě, že je musí vyplnit, ale ty se budou zase validovat až po zadání a ne při načítání z databáze

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nastavení vlastnosti ValidationRule.ValidatesOnTargetUpdated na true by mělo způsobit validování i dat, které byly získány ze zdroje.

http://msdn.microsoft.com/en-us/library/...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback