Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detayli form kontrolleri #5

Open
alirizakeles opened this issue Oct 2, 2015 · 2 comments
Open

Detayli form kontrolleri #5

alirizakeles opened this issue Oct 2, 2015 · 2 comments
Milestone

Comments

@alirizakeles
Copy link
Contributor

Formlari olustuturken required fieldlar yeterli olmuyor. Birbirine bagimli alanlar, tarih araliklarinin ya da x derecedeki kadro icin secilemeyecek kadro unvan gibi zorunluluklari yonetmek icin bir cozum gelistirmemiz gerekiyor.

@alirizakeles alirizakeles assigned ghost Oct 2, 2015
@alirizakeles alirizakeles added this to the 0.4 milestone Oct 2, 2015
@evrenesat
Copy link
Contributor

Bu kısıtların o model / field için her durumda geçerli olanlarını model.Meta class altında tanımlayabiliriz. Sadece belirli bir formda kullanılacak kısıtlamaların ise form_constraints.js şeklinde bir dosyada statik olarak tutulmalarını öneriyorum. Her iki kaynaktan toplanan ve aynı formatta olan kısıtlar ui form engine tarafından işletilir.

form_constraints = {
    'form_id': {
        'field_id': [
            {'cons': [{'id':'other_field_id', 'cond':'==', 'val': 'some_value'}],
                    'do':'prevent_submission', 'msg':'hatali bi is yaptiniz'},

            // birden fazla iliski iceren kisitlama
            {'cons': [{'id':'goreve_baslama', 'cond':'<', 'val':1990},
                     {'id':'cinsiyet', 'cond':'==', 'val':'E'}],
                    'do':'warn', 'msg':'oyle olmaz soyle olur'},
        ]
    }
}

@evrenesat
Copy link
Contributor

kapsamı genişletilmiş sürüm

form_constraints = {
    'form_id': [
        // verilen metodu çalıştır ve dönen Boolean değere göre "do" görevini yap.
        // eğer tüm iş metod içinde yapılıyorsa, "do" boş geçilebilir.
        {
            'cons':'func', 'func': function(){return Boolean()},
            'do':'',

        },
        // kontrol yapılacak değeri jquery yada xpath araması ile bul
        {
            'cons': [{'id': 'field_id', 'cond': '>', 'val': '$("#")'}],
            'do': 'prevent_submission', 'msg': 'hatali bi is yaptiniz'
        },

        // birden fazla field ilişkisi iceren kisitlama
        {
            'cons': [{'id': 'goreve_baslama', 'cond': '<', 'val': 1990},
                {'id': 'cinsiyet', 'cond': '==', 'val': 'E'}],
            'do': 'warn', 'msg': 'oyle olmaz soyle olur'
        },

        // bir field'in degerine gore diger fieldlari sakla
        {
            'cons': [{'id': 'askerlik_nevi', 'cond': 'in', 'val': [1, 4, 6]}],
            'do': 'hide_fields', fields: ['this', 'and', 'that']
        },
    ]
}

@alirizakeles alirizakeles modified the milestones: 0.5, 0.4 Nov 4, 2015
@alirizakeles alirizakeles modified the milestones: 0.7, 0.5 Jan 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants