Hej! Det finns en massa inlägg angående det sen den 18 februari här. Kolla t.ex. http://www.pellesoft.se/communicate/forum/view.aspx?msgid=171588&forumid=10&sum=0 Tackar! Det var precis vad jag letade efter. Trodde jag kollat den tråden men hade visst missat lite =) Jag kollade på tråden och baserat på den gjorde jag detta: Prova detta: Jag tror problemet är att funktionen ClientValidate inte anropas alls. Vet dock inte hur man ska lösa det. Hmmm... funktionen är ju bunden till en CustomValidator som ska göra kollen när man trycker på en skicka-knapp. Om du lägger in en enkel alert i din clientvalidate-funktion, anropas den då? På så vis kan du se om valideringen anropas eller inte. Dum fråga kanske, du har inte råkat sätta CausesValidation="False" på knappen? Njae, tror jag nog inte då jag har andra validatorer på textbox som funkar som de ska. Här är de relevanta delarna: vet inte om det gör nån skillnad men borde det inte vara Anledningen att jag gjorde void på mitt exempel ovan var att du glömde nämna att det var javascript. Du kan inte kalla på ett javascript direkt på det sättet. Det är därför det inte fungerar. Förresten... Varför använder du inte en RequiredFieldValidator i det här fallet? Du vill kolla så att ett värde är valt i en DropDown va? Och är det inte valt nåt värde så ska inte sidan postas eller? Det låter klockrent för en RequiredFieldValidator tycker jag... Använde det nog för att jag inte visst att man kunde använda en sån till dropdownlist, borde inte den första item räknas som vald? Jag löste det med requiredfieldvalidator, men var tvungen att sätta det första värdet till tomma strängen istället för 0. Eventuellt får du sätta ett InitialValue på din RequiredFieldValidator men det märker du.Validator till dropdownlist
Jag försöker bygga en ServerValidation-sub som ska kolla värdet på en selectedItem. Mitt problem är att jag inte vet hur jag ska komma åt värdet.
ServerValidation-subben ropar jag på från en CustomValidator.
/TomasSv: Validator till dropdownlist
Sv:Validator till dropdownlist
/TomasSv: Validator till dropdownlist
function ClientValidate(objSource, objArgs) {
var blnValid = false;
var value = document.all.dropDownList.value
if !(value == 0)
{
blnValid = true;
}
objArgs.IsValid = blnValid;
return;
}
Detta funkar dock inte. Hur ska jag få det att funka?
/TomasSv:Validator till dropdownlist
<code>
void ClientValidate()
{
bool blnValid = false;
int value = DropDownList1.SelectedItem.value
if (value != 0)
{
blnValid = true;
}
objArgs.IsValid = blnValid;
return;
}
</code>Sv: Validator till dropdownlist
Sv: Validator till dropdownlist
Validatorn för dropdownlisten ser ut som följer:
<code>
<asp:CustomValidator
id="CustomValidator1"
ControlToValidate="dropdownlist"
OnServerValidate="ServerValidation"
ClientValidationFunction="ClientValidate"
Runat="server"
/>
</code>Sv:Validator till dropdownlist
Sv:Validator till dropdownlist
Sv: Validator till dropdownlist
Sv: Validator till dropdownlist
<code>
<script language="javascript" type="text/javascript">
<!--
void ClientValidate(objSource, objArgs)
{
bool blnValid = false;
int value = dropdownlist.SelectedItem.value
if (value != 0)
{
blnValid = true;
}
objArgs.IsValid = blnValid;
return;
}
//-->
</script>
<asp:DropDownList
ID="dropdownlist" Runat="server"
AutoPostBack="True">
<asp:ListItem value="0">Välj...</asp:ListItem>
</asp:DropDownList>
<asp:CustomValidator
id="CustomValidator1"
ControlToValidate="dropdownlist"
ErrorMessage="Felmess"
OnServerValidate="ServerValidation"
ClientValidationFunction="ClientValidate"
Runat="server"
Font-Bold="True" />
</code>Sv:Validator till dropdownlist
function ClientValidate(objSource, objArgs)
alltså inte void... När jag testar med void här så får jag lite olika javascript-fel iaf... Sv:Validator till dropdownlist
Sv: Validator till dropdownlist
Sv:Validator till dropdownlist
Nåja, jag kollar hur det funkar med den.Sv: Validator till dropdownlist
Så nu är allt frid och fröjd till nästa steg.
Tack för hjälpen i varje fall!Sv: Validator till dropdownlist
EDIT: Då kan du t.ex. sätta InitialValue till 0 om du hellre vill det.