Mam RequiredFieldValidator
z Display="Dynamic"
na moim ASP.NET WebForm. Przydzieliłem mu klasę przy użyciu właściwości CssClass
. Chcę, aby komunikat o błędzie był wyświetlany przy użyciu display: block
, więc umieściłem to na klasie css w moim arkuszu stylów.RequiredFieldValidator wyświetla miejsca: wstawia tekst
Niestety, walidator umieszcza ekran: wstawiany na elemencie na stronie internetowej, który skutecznie nadpisuje wartość mojego arkusza stylów.
Czy mogę się tego pozbyć?
Edit:
Właśnie uświadomiłem sobie, dlaczego to nie działa. Ustawienie wartości Display="Dynamic"
w walidatorze powoduje, że podczas renderowania ustawia on style="display: none"
na znaczniku span. Biblioteka .NET javascript następnie przełącza styl inline elementu między none
i inline
. Po prostu działa weryfikator dynamiczny. Aby wyświetlić element blokowy, należy zmodyfikować sposób sprawdzania poprawności zdarzenia po stronie klienta. czy jest to możliwe do zrobienia?
To nie działa. To po prostu powoduje, że walidator jest wyświetlany, gdy strona ładuje się (co nie jest tym, czego chcę). Kiedy próbuję sumbit, zmienia styl z powrotem na "inline" (jeśli sprawdzanie poprawności nie powiedzie się). Zobacz mój zredagowany post z tego powodu. – Pete
OK, nie zwracałam zbytniej uwagi! Zaktualizowałem swój post, może to pomoże! –
Hej. Dziękuję za aktualizację. To nie jest najładniejsze rozwiązanie, ponieważ wpływa globalnie na wszystkie walidatory i zależy od rzeczy, które są szczegółami implementacji platformy .NET. Ale działa (daje pożądany rezultat). Chociaż ładniejszym rozwiązaniem może być zmiana pomiędzy przełączaniem klas CSS. W ten sposób masz przynajmniej możliwość decydowania o pr. podstawa walidatora, jeśli powinna być blokowa lub wbudowana. – Pete