Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Architecture
Backend Validation Kuralları
Announcements / Events / Achievements (SchoolContent)
title: required, string, min:2, max:255
text: required, string, min:150, max:1000
sort: nullable, integer, min:0, max:100
(Achievements: min:1 — 0 geçersiz!)
starts_on: nullable|required (Events'te required)
ends_on: required (Announcements'ta)
is_active: boolean
school_ids: nullable, array
school_ids.*: required, integer
per_page: integer, min:1, max:100
page: integer, min:1
sort param: in:[allowed sort fields]
includes: array, in:[allowed includes]
Kritik: sort alanı için:
- Announcements/Events:
min:0(sıfır geçerli) - Achievements:
min:1(sıfır geçersiz — backend bug’dan sonra düzeltildi)
Schools
filter[status]: in:1,2,3,4
filter[trashed]: in:with,only
Article Comments
article_id: required, integer
commenter_name: required, string
commenter_email:required, email
comment: required, string
status: nullable, in:0,1
School Comments
school_id: required, integer
commenter_name: required, string
commenter_email: required, email
comment: required, string
comment_negative: nullable, string
status: nullable, boolean
filter[comment_rate]: in:1,2,3,4,5 (SchoolCommentRateType enum)
filter[date_range][min]: date format Y-m-d
filter[date_range][end]: date format Y-m-d ← end, max DEĞİL
Sales Campaigns
code: required, string, min:2, max:255, unique
name: required, string, min:2, max:255
type: required, enum(SalesCampaignType)
status: required, enum(SalesCampaignStatusType)
start_date: required, date, before_or_equal:end_date
end_date: required, date, after_or_equal:start_date
discount_rate: nullable, numeric, min:0, max:100
initial_months: conditional (type bazlı)
school_type_id: nullable, integer
user_id: nullable, integer
initial_months ve discount_rate — type değerine göre required/prohibited:
x_months_y_paytipi →initial_monthsrequiredpercentagetipi →discount_raterequired
Users
name: required, string
email: required, email, unique
username: required, string, unique
password: required on create, confirmed
user_type_id: required, integer
is_active: boolean
is_member: boolean
Related
- backend-endpoint-referansi — Filter validation da içeriyor
- form-pattern — Frontend Zod validation ile karşılaştırma