Welcome to Emakin Q&A, where you can ask questions and receive answers from other members of the community.

Categories

0 votes
62 views
<Column XPath="" WidthXS="0" WidthSM="0" WidthMD="12" WidthLG="0" Align="Left">
    <Controls>
        <CheckBox CheckedValue="True" UncheckedValue="" XPath="Sec">
            <Hints><![CDATA[]]></Hints>
            <Rules>
                <ValidationRule Group="Seçim">
                    <Condition>
                        <Content><![CDATA[
                var retval = false;
var geneliceriaktarim =  $Xml.EvaluateBoolean('Konnektor/E-FaturaKon/IceriAktarim/GenelIceriAktarim/Sec');
var efatura = $Xml.EvaluateBoolean('Konnektor/E-FaturaKon/Sec');
if(geneliceriaktarim=='true' && efatura=='false') retval = true;
return retval;
              ]]></Content>
                    </Condition>
                    <Label>
                        <Content><![CDATA[Lütfen e-Fatura Konnektörünü seçiniz]]></Content>
                    </Label>
                </ValidationRule>
            </Rules>
            <Label>
                <Content><![CDATA[Genel İçeri Aktarım Modülü]]></Content>
            </Label>
        </CheckBox>
    </Controls>
</Column>

Checkbox nın XML kodu Şu şekilde olan bir alana, koşul vererek eğer bağımlı oldugu bir üst node taki checkbox seçilmeden gönderilmeye çalışıyorsa uyarı vermek istiyorum. Şu şekilde yaptığımda kod çalışıyor görünüyor ama ekranda kullanıcıya uyarı veremiyorum. Bunun için nasıl bir yöntem uygulayabilirim.Teşekkürler
by Ackbar (320 points)
xpath hatalı
CheckBox kontrolu "Sec" xpathinde çalışıyor.

Eğer bu kontroldeki ValidationRule içinde $Xml.EvaluateBoolean('Konnektor/E-FaturaKon/IceriAktarim/GenelIceriAktarim/Sec') şeklinde bir xpath verilirse formun kök nodeundan değil kontrolün kendi nodeundan itibaren pathi aramaya başlar, yani Sec içinde 'Konnektor/E-FaturaKon/IceriAktarim/GenelIceriAktarim/Sec' pathini arar.

var geneliceriaktarim =  $Xml.EvaluateBoolean(); şeklinde düzeltilirse kontrolün atandığı xpathin aldığı değeri dönecektir. yukarı doğru yapılan xpath başvuruları da aynı şekilde çalışır:
var efatura = $Xml.EvaluateBoolean('../../Konnektor/E-FaturaKon/Sec'); gibi

Bu tür sorularda form xmlinin örneğini de gönderirseniz cevaplar daha net olur.

1 Answer

0 votes

Validasyon kuralını Checkbox ın ait olduğu RowContent'e vermeyi dener misin?

<RowContent Type="Field" XPath="" SectionName="">
    <Rules>
        <ValidationRule Group="ValidateCheckbox">
            <Condition>
                <Content><![CDATA[return true;]]></Content>
            </Condition>
            <Label>
                <Content><![CDATA[Hello world]]></Content>
            </Label>
        </ValidationRule>
    </Rules>
    <Label>
        <Content><![CDATA[Checkbox]]></Content>
    </Label>
    <Columns>
        <Column XPath="" HtmlClass="" WidthXS="0" WidthSM="0" WidthMD="12" WidthLG="0" Align="Left">
            <Controls>
                <CheckBox CheckedValue="True" UncheckedValue="" XPath="Checkbox">
                    <Hints><![CDATA[]]></Hints>
                    <Rules/>
                    <Label>
                        <Content><![CDATA[]]></Content>
                    </Label>
                </CheckBox>
            </Controls>
        </Column>
    </Columns>
</RowContent>

by Luke Skywalker (4.2k points)
...