Формийг илгээх

Өмнөх хичээлүүдэд хэрэглэгчийн оруулсан эмайл, нууц үгэнд шалгалт хийх формыг зохиогоод байгаа. Өөрөөр хэлбэл бид бүртгэлийн формийг үүсгэсэн. Одоо формдоо түүнийг илгээх товчийг нэмвэл бүрэн хэмжээний ажиллагаатай болохоор байгаа. Иймээс формийн хэвд хамгийн сүүлийн form-group класстай div -ийн ард

<template>
  <div class="container">
    <form action="" class="pt-4">
      ...    
      <button class="btn btn-success">Submit</button>            
    </form>
  </div>
</template>

bootstrap -ээр хэвжүүлсэн Submit товчийг нэмэн оруулаад хуудсаа шинэчилбэл

гэж харагдана. Одоо Submit товчийг дарвал шалгалт хийгдээгүй хоосон талбаруудыг илгээнэ. Иймээс эхний ээлжинд форм шалгалтыг даваагүй байхад Submit товчийг дарах боломжгүй байлгаад форм шалгалтыг даван өөрөө хэлбэл талбарууд зөв мэдээллүүдтэй болсон тохиолдолд түүнийг идэвхитэй болгох шаардлагатай. Үүний тулд хуудасны шаблон дахь Submit товчны кодыг

<template>
  <div class="container">
    <form action="" class="pt-4">
      ...
      <button
        class="btn btn-success"
        type="submit"
        :disabled="$v.$invalid"
      >Submit</button>            
    </form>
  </div>
</template>

болгон өөрчилье. Кодод товчны төрлийг submit болгоод түүний disabled атрибутыг $v.$invalid төлөвтэй холбон өгсөн. Валидаторийг тохируулах хичээлд Vuelidate пакетийн төлвүүдийг $v обьект агуулж байдгийг мэдсэн. Обьектод талбаруудаас гадна формийн төлвийг хариуцаж байдаг талбарууд байдаг ба $invalid талбар нь форм бүхэлдээ шалгагдан зөв болсон тохиололд true утгыг авдаг. Иймээс disabled атрибутыг $v.$invalid төлөвтэй холбон өгч байгаа юм. Өөрчлөлтийг хадгалаад хуудсаа шинэчилбэл

Submit товч идэвхигүй буюу түүн дээр дарах боломжгүй болсон байгаа. Хэрэглэгч формийн бүх талбарт зөв мэдээллийг оруулсны дараа л Submit товч идэвхитэй болно. Үүнийг өөрсдөө шалгаарай. Формийн бүх талбарт зөв мэдээллийг оруулаад Submit товчийг дарахад формийн өгөгдлүүд цэвэрлэгдэнэ. Формын талбаруудыг шууд цэвэрлэх нь сайнгүй. Иймээс формыг Vuejs -ээр илгээхээр болгон өөрчилье. Үүний тулд компонентийн хэвийн формийн кодыг  

<template>
  <div class="container">
    <form action="" class="pt-4" @submit.prevent="onSubmit">
      ...
      <button
        class="btn btn-success"
        type="submit"
        :disabled="$v.$invalid"
      >Submit</button>            
    </form>
  </div>
</template>

дээрх байдлаар өөрчилье. Шаблоны form тегд javascript -ийн өөрийнх нь submit үйл явцад onSubmit сонсогчийг тавин өгсөн. Үйл явцын prevent модификатор хуудасны дахин ачаалалтыг болиулдаг гэдгийг бид үзсэн. onSubmit сонсогчийг компонентийн кодын хэсэгт

<script>
import { required, email, minLength, sameAs } from 'vuelidate/lib/validators'
export default {
  data () {
    return {
      email: '',
      password: '',
      confirmPassword: ''
    }
  },
  methods: {
    onSubmit() {
      console.log('Email', this.email)
      console.log('Password', this.password)
    }
  },
  ...
}
</script>

methods талбарт тодорхойлон өгөх ёстой. onSubmit арга форм бүх шалгагчийн давсны дараа л дуудагдана. Арга хэрэглэгчээс оруулсан формийн мэдээллийг backend серверт дамжуулна. Хичээлд энэ талаар үзэхгүй тул хэрэлэгчээс оруулсан мэдээллийг консолд үзүүлье. Өөрчлөлтүүдийг хадгалаад хуудсаа шинэчлээд

формийг зөв мэдээллүүдээр бөглөөд Submit товчийг дарвал хуудсыг дахин ачааллан формийг цэвэрлэхгүйгээс гадна консолд хэрэглэгчээс оруулсан майл хаяг, нууц үгийг үзүүлнэ. Одоо хэрэглэгчийн мэдээллийг ашиглаж болохын дээр түүнийг серверт илгээн серверээс хариу авсны дараагаар түүнийг цэвэрлэх эсэхээ шийдэх юм.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 799 Нийтийн

Javascript хэлийг ашиглахгүйгээр сайт зохионо гэдэг бүтэхгүй зүйл гэдэг нь ойлгомжтой. Сайтын хэрэглэгч талын хуудаст олон төрлийн javascript санг ашигладаг байсан бол одоо сайтыг бүгдийг javascript фреймворк ашиглан хийдэг SPA /single page application/ технологийг улам ихээр хэрэглэх болсон. Эдгээрийн нэг болох Vuejs сангийн хичээлүүдийг сайтад нийтэлж байгаа бөгөөд энэ удаад Vue -гийн хувийн тохиргооны обьектод data талбарт обьект тодорхойлж болж байхад яагаад компонентын хувийн тохиргооны обьектод data талбарт функц тодорхойлох ёстойг авч үзье. Компонентууд ямар хэрэгтэй вэ? хичээлийн жишээг

  Нээгдсэн тоо: 2876 Нийтийн

Тоог обьект хэлбэртэй болгоход ашиглагдана. Обьектын конструктор тоон обьектын анхны утга болох ердөө ганцхан параметр шаардана. Шаардлагатай бол Javascript обьектыг өөрөө үүсгэдэг тул Number обьектыг шууд утгаар үүсгээд байх нь ховор. Обьектын гол зориулалт бол шинжүүдийг нэг обьект болгох түүнчлэн Number(value) гэж дуудан утгыг тоо болгох юм.

  Нээгдсэн тоо: 745 Төлбөртэй

Програмд нэвтрэхэд хэрэглэгчийн нууц үгийг авах талбар ихэнхдээ байдаг. Ийм төрлийн талбарт шалгалтыг хэрхэн хийхийг сурцгаая. Үүний тулд Шалгалтын алдааг үзүүлэх хичээлийн App компонентийн шаблоны кодыг доорх байдлаар өргөжүүлье.

<template>
  <div class="container">
    <form action="" class="pt-4">
      <div class="form-group">
    ...
      </div>

      <div class="form-group">
        <label for="password">Password</label>
        <input
          type="password"
          id="password"
          class="form-control"
          :class="{'is-invalid': $v.password.$error}"
          @blur="$v.password.$touch()"
          v-model="password"
        >

      </div>      
    </form>
  </div>
</template>

  Нээгдсэн тоо: 452 Төлбөртэй

Хичээлээр сорилгын үр дүнгийн хэсгийн боловсруулалтыг хийцгээе. Одоогоор сорилгын асуултууд дуусахад бид консолд Finished текстийг үзүүлж байгааг өөрчлөхийн тулд Quiz компонентод false анхдагч утгатай isFinished төлвийг

const [isFinished, setIsFinished] = useState(false)

нэмэн өгөөд onAnswerClickHandler аргаас сорилго дуусанг шалгах isQuizFinished функцээс true утга буцаавал Finished текстийг үзүүлж байсныг

        if (isQuizFinished()) {
          setIsFinished(true)
        } else {
          ...
        }

гэж өөрчилье. Өөрөөр хэлбэл сорилго дуусан isQuizFinished функцээс true утга буцаавал setIsFinished функцээр isFinished төлвийг true утгатай болгоно.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 265

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 347

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 317

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 415

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 457

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 486

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 571

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 654

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 691

 
Энэ долоо хоногт

тэгшитгэлийн хувьд утгыг ол

Нээгдсэн тоо : 2768

 

тэгшитгэлийн хамгийн их сөрөг язгуурыг ол.

Нээгдсэн тоо : 1091

 

тэнцэтгэл b -ийн ямар утганд биелэх вэ?

Нээгдсэн тоо : 720